How to randomly pick either 4 or 5?
有了RubyonRails,Ruby,我怎么能随机选择4或5呢?
- XKCD.COM/221
- 如何在Ruby中获取随机数的可能副本?
- 我知道这是重复的结束,但为什么会被否决?它的措辞清晰,主题明确,对于一个新的Ruby程序员来说是不明显的。
我喜欢一个很好的简单的一行。
- 为什么过于复杂?[4, 5].sample
- +1用于使用Array#sample。但是,不需要创建范围。只需使用%w( 4 5 ).sample。
- 哈,那是真的,塞吉奥。我通常直接到范围,因为它通常在较大的数字之间(如(1..100)),但在这种情况下,这更容易。
- @SimoneCarletti:那是字符串数组。不酷。
- @Sergioturentsev你是对的,但这取决于你需要做什么。;)
只需使用ruby的rand函数:
1 2 3 4 5 6
| 4+rand(2)
=> 4
4+rand(2)
=> 5
4+rand(2)
=> 5 |
1
| four_or_five = rand(2) == 0 ? 4 : 5 |
由于rand(num)选择的值介于0和num之间,不包含在内,因此选择0的可能性为50%。因此,four_or_five为4或5,概率相等。
在Ruby1.9.3中,我认为您可以这样做: