How do I generate a list of n unique random numbers in Ruby?

后端 未结 15 1829
鱼传尺愫
鱼传尺愫 2020-11-28 22:27

This is what I have so far:

myArray.map!{ rand(max) }

Obviously, however, sometimes the numbers in the list are not unique. How can I mak

15条回答
  •  佛祖请我去吃肉
    2020-11-28 23:02

    This uses Set:

    require 'set'
    
    def rand_n(n, max)
        randoms = Set.new
        loop do
            randoms << rand(max)
            return randoms.to_a if randoms.size >= n
        end
    end
    

提交回复
热议问题