2 个版本
0.99.1 | 2020 年 3 月 9 日 |
---|---|
0.99.0 | 2020 年 2 月 16 日 |
2081 在 异步 中
每月下载 67,591 次
在 84 个 Crates 中使用(通过 genawaiter)
4KB
genawaiter
此 crate 在稳定的 Rust 中实现无栈生成器(也称为协程)。您可以使用 yield
代替,它 很快将不会稳定,而是使用 async
/await
,这是今天稳定的。
特性
- 支持恢复参数和完成值
- 无分配
- 无运行时依赖
- 也没有编译时依赖,使用
default-features = []
- 也没有编译时依赖,使用
- 基于标准语言结构构建,这意味着没有任何平台特定的诡计
示例
let odd_numbers_less_than_ten = gen!({
let mut n = 1;
while n < 10 {
yield_!(n); // Suspend a function at any point with a value.
n += 2;
}
});
// Generators can be used as ordinary iterators.
for num in odd_numbers_less_than_ten {
println!("{}", num);
}
结果
1
3
5
7
9
开发
安装先决条件
安装 pre-commit 钩子
pre-commit install
这将在每次提交之前运行一个快速检查。
运行应用程序
cargo run
运行测试
cargo test