我正在阅读Chris Pine撰写的“学习编程”一书。在第7.5节“几个要尝试的事情”中,他让你写一个程序,让你和一个听力困难的奶奶交谈。当你对她喊叫时,她应回答“不,不是因为[1930年到1950年之间]。”
在提示中,Pine写道,“提示3:人们经常问我,”我如何让兰特给我一个不在零开始的范围内的数字?“好吧,你不能;兰德只是没有就这样工作。所以,我想你必须做一些事情才能回到你身边。“
在他早期关于rand Pine的部分中写道,使用rand作为rand(x)来设置上限。但是从我使用过的其他一些资源(不记得它是什么),我学会了做类似(x..y)的范围。所以在我的代码中我只是提出以下内容:
...
elsif whatusay == whatusay.upcase
puts "NO, NOT SINCE " + rand(1930..1951).to_s + "!"
在我的测试中,这似乎可以在1930年到1950年之间产生随机数。那么提示是什么?我错过/不理解某事吗?自书写完以来,Ruby是否已经更新以允许这样做?
答案 0 :(得分:4)
Kernel#rand
已经接受了Ruby 1.9.3以来的范围,所以我想这本书是在那之前编写的。