5个版本
0.2.0 | 2024年4月6日 |
---|---|
0.1.4 | 2023年10月2日 |
0.1.3 | 2023年10月2日 |
0.1.2 | 2023年10月2日 |
0.1.1 | 2023年10月2日 |
394 在 命令行界面
每月262次下载
14KB
212 行
simple-tqdm
lib.rs
:
simple-tqdm 是一个小的indicatif包装器,尝试与Python的tqdm
库相似。
tqdm 包含一个 tqdm
函数和一个 Tqdm
特征,根据您的偏好。
示例
use simple_tqdm::tqdm;
for _ in tqdm(0..2 << 24) {}
或者,如果您想自定义进度条use simple_tqdm::{Tqdm, Config};
let config = Config::new().with_unit("num");
for _ in (0..2 << 24).tqdm_config(config) {}
或者,如果您想使用多个进度条。
use simple_tqdm::{Tqdm, Config};
fn main() {
let config = Config::new().with_progress_chars(">= ");
std::thread::scope(|scope| {
for _ in 0..3 {
scope.spawn(|| for _ in (0..2 << 24).tqdm_config(config.clone()) {});
}
});
}
并行迭代器
tqdm 还提供对Rayon的并行迭代器的可选支持。在您的 Cargo.toml
中,使用 "rayon" 功能
[dependencies]
simple-tqdm = {version = "*", features = ["rayon"]}
然后这样使用它
use simple_tqdm::ParTqdm;
use rayon::prelude::*;
let vec: Vec<_> = (0..100000).into_par_iter().tqdm().map(|i| i + 1).collect();
assert_eq!(vec[0], 1);
依赖关系
~1.5–8.5MB
~63K SLoC