どうも、ちょげ(@chogetarou)です。
乱数を範囲付きで生成する方法を紹介します。
方法

乱数を範囲付きで生成するには、thread_rng()を使います。
まず、必要なモジュールをインポートします。
use rand::Rng;
次に、rand::thread_rng()を呼び出し、乱数ジェネレーターを生成します。
乱数ジェネレーターからgen_range()を呼び出します。
そして、gen_range()の引数に乱数の範囲を指定します。
//range=乱数の範囲, T=乱数の型
let mut rnd = rand::thread_rng(); //乱数ジェネレータを生成
let num: T = rnd.gen_range(range); //乱数を生成
上記のgen_range()は、引数に指定された範囲の乱数を生成します。
Generate Random Values - Rust Cookbook
Collection of useful Rust code examples
Rng in rand - Rust
An automatically-implemented extension trait on providing high-level generic methods for sampling values and other conve...
使用例
use rand::Rng;
fn main(){
let mut rnd = rand::thread_rng();
for _ in 0..5 {
let num: u8 = rnd.gen_range(0..10);
println!("{:?}", num);
}
}
出力:
4
7
2
2
5
コメント