#分组 #随机 #rand

random_grouping

随机分组工具

7 个版本

0.3.1 2024年1月14日
0.3.0 2023年10月30日
0.2.3 2023年9月9日
0.2.2 2023年7月30日
0.1.0 2023年7月5日

#2 in #分组

每月 46 次下载

MIT/Apache

18KB
283

random_grouping

随机分组工具。

本包作者英语不好。
如果文档难以阅读,请见谅。

这是什么?

这有助于将多个项目随机分组到一些组中。

示例

let mut rg = RandomGrouping::new();
let samples = (0..10).collect::<Vec<_>>();
let ratios = [0.3, 0.3, 0.2];

let result = rg.divide_by_ratio(&samples, &ratios);

assert!(result.len() == ratios.len());
for i in 0..result.len() {
    let group_size = (ratios[i] * samples.len() as f64).floor() as usize;
    assert!(result[i].len() == group_size);
    assert!(result[i].iter().all(|x| samples.contains(x)));
}

更新内容

v0.3.1

  • 小幅度重构。

v0.3.0

  • RandomGrouping 中添加了 must_use 注解。

v0.2.3

  • 错误修复:移除不想要的调试输出。

v0.2.0

  • stable 的默认值已从 false 更改为 true
  • divide_by_sizedivide_by_ratio 的第一个参数已从切片更改为 IntoIterator
  • 相反,引入了 divide_slice_by_sizedivide_slice_by_ratio(它们对于切片更快)。

依赖项

~345KB