Comment puis-je générer un nombre aléatoire dans une plage de Rouille?

Lors de la recherche pour savoir comment générer un nombre aléatoire à l'aide de la Rouille, je suis venu à travers l'exemple suivant. Cependant, il ne semble pas fonctionner... l'exemple ne semble pas montrer de quelle version de la Rouille il s'applique, il est peut-être out-of-date de, ou peut-être que j'ai obtenu quelque chose de mal.

//  http://static.rust-lang.org/doc/master/std/rand/trait.Rng.html

01  use std::rand;
02  use std::rand::Rng;
03
04  fn main() {
05    let mut rng = rand::task_rng();
06    let n: uint = rng.gen_range(0u, 10);
07    println!("{}", n);
08    let m: float = rng.gen_range(-40.0, 1.3e5);
09    println!("{}", m);
10  }

Lorsque je tente de compiler les résultats suivants :

test_rand002.rs:6:17: 6:39 error: type `@mut std::rand::IsaacRng` does not
implement any method in scope named `gen_range`
test_rand002.rs:6    let n: uint = rng.gen_range(0u, 10);
                               ^~~~~~~~~~~~~~~~~~~~~~
test_rand002.rs:8:18: 8:46 error: type `@mut std::rand::IsaacRng` does not
implement any method in scope named `gen_range`
test_rand002.rs:8    let m: float = rng.gen_range(-40.0, 1.3e5);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to 2 previous errors

Il y a un autre exemple (comme suit) sur la même page (ci-dessus) qui ne fonctionne pas. Cependant, il ne fait pas exactement ce que je veux, bien que je puisse l'adapter.

autre exemple (qui fonctionne) :

use std::rand;
use std::rand::Rng;

fn main() {
   let mut rng = rand::task_rng();
   let x: uint = rng.gen();
   println!("{}", x);
   println!("{:?}", rng.gen::<(f64, bool)>());
}

Comment puis-je générer un "simple" nombre aléatoire à l'aide de la Rouille (par exemple: i64) à l'intérieur d'une plage donnée (par exemple: de 0 à n) ?

Les liens static.rust-lang.org/doc/master dire que la version est maître.
Une note rapide qu'aucune des réponses ci-dessous semblent travailler pour la Rouille 1.7.

OriginalL'auteur Brian Oh | 2013-10-30