>>
=> true
>> primes = Prime.new
=> #<Prime:0x1014752a0 @counts=[], @primes=[], @seed=1>
# les n premiers nombres premiers
>> 3.times { puts primes.succ }
2
3
5
# décomposition en facteurs premiers
>> 123.prime_division
=> [[3, 1], [41, 1]]
>> 17.prime_division
=> [[17, 1]]
> 13333339.prime_division
=> [[13333339, 1]] # hé oui :)
# PGDC de deux entiers
>> 12.gcd2(234)
=> 6
# La réciproque de prime_division
>> 13344443.prime_division
=> [[7, 1], [59, 1], [79, 1], [409, 1]]
>> Integer.from_prime_division(13344443.prime_division)
=> 13344443
>> primes.last # :)
Le gem RCov pour ruby ne fonctionne pas avec JRuby car il utilise des modules écrits en C ne pouvant s'exécuter sur la machine virtuelle Java. Sous NetBeans 6.7, il est possible d'utiliser rcov avec le built-in JRuby de NetBeans. Il fonctionne parfaitement. Sinon, il existe un gem 'rcov-java' pour JRuby . Il ne semble pas pouvoir être installé avec gem install . Il faut le télécharger ici : http://rubyforge.org/projects/jruby-extras (ou en pièces jointes ci-dessous). Puis pour installer un gem en local : $ jruby -S gem install -i Petit souci, il y a un petit bug ... "rcov.rb:654:in `aggregate_data': NilClass can't be coerced into Fixnum (TypeError)" Je l' ai fixé ainsi : ligne 654 : cov_arr.each_with_index{|x,i| dest[i] += x} , remplacer par cov_arr.each_with_index{|x,i| dest[i] += x if x } Vous pouvez maintenant exécuter $ rcov test/test_*.rb Un répertoire coverage est créé à la racine du projet contenant deux fichiers au format html contenant le rapport de couverture. Liens : http://eigenclass.org/hiki/rcov#l6 |