#rand #deprecated #derive

废弃 rand_derive

#[derive(Rand)] 宏(已废弃)

5个版本 (3个破坏性更新)

使用旧的Rust 2015

0.5.0 2018年9月24日
0.3.1 2017年8月23日
0.3.0 2017年7月30日
0.2.0 2016年11月21日
0.1.0 2016年5月2日

#100 in #rand

Download history 243/week @ 2024-03-13 246/week @ 2024-03-20 198/week @ 2024-03-27 244/week @ 2024-04-03 179/week @ 2024-04-10 207/week @ 2024-04-17 240/week @ 2024-04-24 194/week @ 2024-05-01 185/week @ 2024-05-08 171/week @ 2024-05-15 213/week @ 2024-05-22 176/week @ 2024-05-29 139/week @ 2024-06-05 128/week @ 2024-06-12 146/week @ 2024-06-19 139/week @ 2024-06-26

每月574次下载
8 crate 中使用

MIT/Apache

7KB
91

rand_derive

#[derive(Rand)] 功能允许采样随机实例。

自rand 0.5起,此crate已废弃,因为Rand特质已被废弃,并且它似乎用途很少。

此crate已更新以与Rand 0.5兼容,但是请注意,它现在实现的是Distribution<Self> for Standard而不是Rand

用法

将此添加到您的 Cargo.toml

[dependencies]
rand = "0.5"
rand_derive = "0.5"

并在此crate根目录下添加此内容

extern crate rand;
#[macro_use]
extern crate rand_derive;

示例

#[derive(Rand)] 可以用于任何所有字段/变体都实现了 rand::Rand 的结构体或枚举。

#[derive(Debug, Rand)]
struct Foo {
    x: u16,
    y: Option<f64>,
}

#[derive(Debug, Rand)]
enum Bar {
     X{x: u8, y: isize},
     Y([bool; 4]),
     Z,
}

现在您可以在自定义类型上调用 Rng::gen() 函数。

use rand::Rng;

let mut rng = rand::thread_rng();

println!("{:?}", rng.gen::<Foo>());
println!("{:?}", rng.gen::<Bar>());

依赖项

~1.5MB
~41K SLoC