1

rand(1..5)MRI Ruby 1.9.3 で動作するようなものしか見たことがありません (1.9.2 は試していません)。Jruby は 1.9 モードでもサポートしていません - TypeError が発生します。

ruby-doc でさえ、範囲がサポートされていることについて言及していません。公式の振る舞いは?

アップデート

回答とコメントが指摘しているように、1.9.3 のみがサポートしています。Jruby は 1.9.2 のみです。

4

2 に答える 2

2

ドキュメント それがサポートされていると言っています

max が Range の場合、range.member(number) == true の疑似乱数を返します。

1.9.3の変更ログにもあります

于 2012-06-12T20:05:29.847 に答える
2

ドキュメントからの逐語的なコピペ

If max is Range, returns a pseudorandom number where range.member(number) == true.
Or else converts max to an integer using max1 = max.to_i.abs.

あ、はい。ruby 1.9.3から対応

于 2012-06-12T20:08:09.357 に答える