3个版本
0.1.2 | 2018年11月10日 |
---|---|
0.1.1 | 2018年11月10日 |
0.1.0 | 2018年11月10日 |
#157 in #递归
14KB
262 行
属性宏 #[reciter]
允许将递归函数转换为使用缓存的Iterator。
示例
#[reciter(cache = "auto", start = 1)]
fn factorial(n: usize) -> BigInt {
if n == 1 {
BigInt::from(1)
} else {
n * factorial(n - 1)
}
}
fn main() {
let fi = FactorialIterator::new();
for (i, fac) in fi.enumerate().take(512) {
println!("{}! = {}", i + 1, fac);
}
}
更多信息请参阅文档或仓库中的测试。
依赖关系
~2MB
~49K SLoC