【问题标题】:Select a random number a random number of times but never the same random number twice [duplicate]选择一个随机数随机数次,但永远不要两次选择相同的随机数[重复]
【发布时间】:2012-10-22 05:39:01
【问题描述】:

可能重复:
How do I generate a list of n unique random numbers in Ruby?

我想做:

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

如果随机数已经显示,则不能再次显示。我怎样才能最轻松地做到这一点?

【问题讨论】:

    标签: ruby-on-rails ruby random


    【解决方案1】:

    如果您使用的是 Ruby 1.9,则使用 Array#sample 的另一个单行代码

    rands = (0..10).to_a.sample(­Random.ran­­d(0..10))
    

    【讨论】:

      【解决方案2】:

      作为一个快速的单线:

      rands = (0..10).to_a.shuffle[0, Random.rand(0..10)]
      

      【讨论】:

      • 我说得不够频繁 - 我真的很喜欢 Ruby 让你做这种事情的方式!
      • 我想在 Python 中它可能会更容易:)
      • 还有:Array(0..10).shuffle.take(rand(10))
      猜你喜欢
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多