#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 • Rust 包仓库 243/week @ 2024-03-13 • Rust 包仓库 246/week @ 2024-03-20 • Rust 包仓库 198/week @ 2024-03-27 • Rust 包仓库 244/week @ 2024-04-03 • Rust 包仓库 179/week @ 2024-04-10 • Rust 包仓库 207/week @ 2024-04-17 • Rust 包仓库 240/week @ 2024-04-24 • Rust 包仓库 194/week @ 2024-05-01 • Rust 包仓库 185/week @ 2024-05-08 • Rust 包仓库 171/week @ 2024-05-15 • Rust 包仓库 213/week @ 2024-05-22 • Rust 包仓库 176/week @ 2024-05-29 • Rust 包仓库 139/week @ 2024-06-05 • Rust 包仓库 128/week @ 2024-06-12 • Rust 包仓库 146/week @ 2024-06-19 • Rust 包仓库 139/week @ 2024-06-26 • Rust 包仓库

每月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