2011年4月24日

[ruby-list:48009] randの挙動

矢口と申します

Kernel.#rand, Random.randとRandom#randで
Rangeオブジェクトを引数に呼び出したときの挙動が異なるのですが
なぜこのような挙動になっているのでしょうか?

irb :001 > rand 10
=> 4

irb :002 > Random.rand 10
=> 6
irb :003 > Random.new.rand 10
=> 2

irb :004 > rand 10..20
TypeError: can't convert Range into Integer
from (irb):4:in `rand'
from (irb):4
from /Users/yayugu/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'

irb :005 > Random.rand 10..20
TypeError: can't convert Range into Integer
from (irb):5:in `rand'
from (irb):5
from /Users/yayugu/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'

irb :006 > Random.new.rand 10..20
=> 16


環境は以下の通りです
Mac OS X 10.6.7
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]


投稿者 xml-rpc : 2011年4月24日 19:01
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103225
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。