我们在haskell Prelude中有迭代函数
iterate :: (a -> a) -> a -> [a]
iterate f x == [x, f x, f (f x), ...]
Run Code Online (Sandbox Code Playgroud)
C#中的等价物是什么?
没有一个,但你可以写自己的:
public static IEnumerable<T> Iterate<T>(T seed, Func<T, T> step)
{
while(true)
{
yield return seed;
seed = step(seed);
}
}
Run Code Online (Sandbox Code Playgroud)