在尝试使用Ruby进行实验并看看它能做什么时,我将这个程序放在一起以生成虚假的彩票号码。
我正在尝试生成所有可能的组合,但它似乎不起作用,你能看到我出错的地方吗?
lotto = [rand(1...50), rand(1...50), rand(1...50), rand(1...50), rand(1...50), rand(1...50)].uniq
lotto_results = lotto.combination(6).cycle.to_a
puts "----START----"
count = 0
lotto_results.each do |x|
count += 1
puts "Comination #{count}: #{x}"
puts "-------------"
end
puts "----FINISH----"
答案 0 :(得分:2)
如果您想要打印所有可能的组合,请执行以下操作:
(1..50).to_a.combination(6).each_with_index do |c, idx|
puts "combination #{idx}: #{c}"
end
答案 1 :(得分:1)
请改为尝试:
lotto = (1..50).to_a.shuffle[0..5]
<强>附录强>
正如Marc-AndréLafortune指出的那样,
(1..50).to_a.sample(6)
好多了。
答案 2 :(得分:0)
lotto = (1..50).to_a[0..50].combination(5)
count = 0
lotto.each do |x|
count += 1
puts "Combination #{count}: #{x}"
end