在Clojure中,我使用了一个名为iterate:
返回x,(fx),(f(fx))等的延迟序列.f必须没有副作用
Rust中有类似的东西吗?
例如,我有这个函数,我想传递给一个带有数字的函数,然后迭代一个流/范围/向量,直到找到Some(1):
fn coltz(n: u64) -> Option<u64> {
match n % 2 {
0 => Some(n / 2),
_ => Some(3 * n + 1)
}
}
Run Code Online (Sandbox Code Playgroud) rust ×1