5

可能重复:
如何在 Ruby 中生成一个包含 n 个唯一随机数的列表?

我想要做:

Random.rand(0..10).times do
  puts Random.rand(0..10)
end

例外情况是,如果随机数已经显示,则无法再次显示。我如何最轻松地做到这一点?

4

2 回答 2

8

作为一个快速的单线:

rands = (0..10).to_a.shuffle[0, Random.rand(0..10)]
于 2012-11-01T15:39:45.227 回答
4

如果您使用的是 Ruby 1.9,则另一种带有Array#sample的单行器

rands = (0..10).to_a.sample(­Random.ran­­d(0..10))
于 2012-11-01T15:43:50.070 回答