伙计,
我试图在(0..10)之间生成一个随机数,比如5。
new_index = rand(0..(old_index - 1)) || new_index = rand((old_index + 1)..10)
任何人都可以放弃任何光明吗?
答案 0 :(得分:1)
new_sample_space = (0..10).to_a - [5] #=> [0, 1, 2, 3, 4, 6, 7, 8, 9, 10]
new_index = new_sample_space.sample #=> random integer from 0-10, except 5
当然,由于内存问题,在大范围内执行此操作可能不是一个好主意。在这样的"巨大的"在你获得5
后,你可能会得到另一个随机数。
loop do
new_index = rand(1..10)
break if new_index != 5
end