2 rust
Haskell iterate函数重复将函数应用于值以生成一系列值.例如,将(^ 2)应用于2会生成2,2 ^ 2,2 ^ 2 ^ 2,2 ^ 2 ^ 2 ^ 2,......(2,4,16,256,...)
Rust中有等价物吗?
这在标准库中不存在,但是itertools包有iterate
创建一个新的迭代器,它可以无限地将函数应用于值并产生结果.
use itertools::iterate;
itertools::assert_equal(iterate(1, |&i| i * 3).take(5), vec![1, 3, 9, 27, 81]);