素数の取り扱いについてのサンプルを頂きましたので、入力した数が素数か?調べてみましたが、Rubyでは123454321の数値を入力するとハングアップするようです。良きに計らってくれないようです。
それとtake_while{|x| x < 10000}.forceで、x > 500 and x < 10000とかは出来ないんですね。
変数primesとPrimesの違いがあります。関数の外で宣言されていると、primesだと、関数の内部では参照できない。Primesだと出来る。$primesでも出来る。微妙な違いがあります。
出来ないです。
その代わりにdrop_whileがあります。
require 'prime'
primes = (2..Float::INFINITY).lazy.select do |i|
i.prime?
end
puts(primes.take_while{|x| x < 10000}.drop_while {|x| x > 500}.force)
> Rubyでは123454321の数値を入力するとハングアップするようです。良きに計らってくれないようです。
これはこっちでも試してみましたが、しょーがないですね(笑)。