How to print out a random number between a range?
本问题已经有最佳答案,请猛点这里访问。
我有以下内容,但不起作用:
1 | <%= (5..30).sample %> |
试一试。
1 | <%= [*5..30].sample %> |
…或…
1 | <%= rand(5..30) %> |
这将在该范围内生成一个随机数:
1 | 5 + rand(25) |
只需将最小值添加到兰特(max-min)。
1 | <%= (5..30).to_a.sample %> |
对于1个随机数:
1 2 | a = (5...30).sort_by{rand}[1] # => 7 |
这似乎比其他人的建议更详细,但从这里,很容易从同一范围中选择三个随机唯一的数字:
1 2 | a = (5...30).sort_by{rand}[1..3] # => [19, 22, 28] |
或20:
1 2 | a = (5...30).sort_by{rand}[1..20] # => [7, 12, 16, 14, 13, 15, 22, 17, 24, 19, 20, 10, 21, 26, 29, 9, 23, 27, 8, 18] |
可能对需要在侧边栏中显示5个随机FOO的人有用
编辑:多亏了马克·安德烈·拉夫图恩,我发现下面的情况好多了:
1 | a=[*5..30].sample(3) |