Function rand::random [] [src]

pub fn random<T>() -> T where
    T: Rand

Generates a random value using the thread-local random number generator.

random() can generate various types of random things, and so may require type hinting to generate the specific type you want.

This function uses the thread local random number generator. This means that if you're calling random() in a loop, caching the generator can increase performance. An example is shown below.

Examples

let x = rand::random::<u8>();
println!("{}", x);

let y = rand::random::<f64>();
println!("{}", y);

if rand::random() { // generates a boolean
    println!("Better lucky than good!");
}

Caching the thread local random number generator:

use rand::Rng;

let mut v = vec![1, 2, 3];

for x in v.iter_mut() {
    *x = rand::random()
}

// can be made faster by caching thread_rng

let mut rng = rand::thread_rng();

for x in v.iter_mut() {
    *x = rng.gen();
}