我只rand(1..5)
在 MRI ruby 1.9.3 中看到过类似的工作(没有尝试过 1.9.2)。Jruby 不支持它,即使在 1.9 模式下 - 它会引发 TypeError。
甚至 ruby-doc 也没有提到支持 Ranges。官方的行为是什么?
更新
正如答案和评论指出的那样,只有 1.9.3 支持它。Jruby 只有 1.9.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 支持它