获得与前一个不同的随机数的惯用方法?

Aug*_*ias 2 random idioms rust

Rust 有没有更好的方法来做到这一点?

let mut current_index = rng.gen_range(0, 5);
while current_index == previous_index {
    current_index = rng.gen_range(0, 5);
}
Run Code Online (Sandbox Code Playgroud)

And*_*org 5

不确定是否惯用,但这可以避免循环:

let current_index = (previous_index + rng.gen_range(1, 5)) % 5;
Run Code Online (Sandbox Code Playgroud)