我想生成一个介于100和999之间的唯一随机数序列.我想确保没有生成两次数字,以确保每个数字都是唯一的.这就是我想出的.这是行不通的.当我运行它时,屏幕只是空白.谁能帮我?
products = {}
def random_key(products)
rand_key = rand(900) + 100
while products.has_key?(rand_key)
rand_key = rand(900) + 100
end
end
puts random_key(products)
Run Code Online (Sandbox Code Playgroud)
Mar*_*bot 13
a = (100..999).to_a.shuffle
Run Code Online (Sandbox Code Playgroud)
然后每次你需要一个新的身份证
new_id = a.pop
Run Code Online (Sandbox Code Playgroud)
这可以保证数字永远不会被重用.当然,当你用完阵列上的元素时,你会遇到问题.