JAVA随机出50以内数,如何在Rust中生成一个范围内的随机数?

在搜索如何使用Rust生成随机数时,我遇到了以下示例 . 但是,它似乎没有用......示例似乎没有显示它适用于哪个版本的Rust,所以也许它已经过时了,或者我可能出错了 .

// 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 }

当我尝试编译它时,会产生以下结果:

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

在同一页面(上面)上有另一个例子(如下所示)可以工作 . 然而,它并没有完全符合我的要求,尽管我可以适应它 .

其他例子(有效):

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::());

}

如何在给定范围内使用Rust(例如:i64)生成“简单”随机数(例如:0到n)?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值