获得与前一个不同的随机数的惯用方法?
Idiomatic way to get a random number that is different from a previous one?
在 Rust 中有更好的方法吗?
let mut current_index = rng.gen_range(0, 5);
while current_index == previous_index {
current_index = rng.gen_range(0, 5);
}
不确定惯用语,但这可以避免循环:
let current_index = (previous_index + rng.gen_range(1, 5)) % 5;
取决于你想做什么,也许SliceRandom::choose_multiple
or SliceRandom::shuffle
。
在 Rust 中有更好的方法吗?
let mut current_index = rng.gen_range(0, 5);
while current_index == previous_index {
current_index = rng.gen_range(0, 5);
}
不确定惯用语,但这可以避免循环:
let current_index = (previous_index + rng.gen_range(1, 5)) % 5;
取决于你想做什么,也许SliceRandom::choose_multiple
or SliceRandom::shuffle
。