【问题标题】:What is the equivalent of iterate function in haskell in c#? [duplicate]c#中haskell中迭代函数的等价物是什么? [复制]
【发布时间】:2017-10-24 23:19:17
【问题描述】:

我们在haskell Prelude中有迭代功能

iterate :: (a -> a) -> a -> [a]
iterate f x == [x, f x, f (f x), ...]

C# 中的等价物是什么?

【问题讨论】:

  • Afaik 没有具有该功能的方法,但您当然可以自己编写一个。

标签: c# haskell


【解决方案1】:

没有,但你可以自己写:

public static IEnumerable<T> Iterate<T>(T seed, Func<T, T> step)
{
    while(true)
    {
        yield return seed;
        seed = step(seed);
    }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-07-10
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 2018-11-30
  • 2014-02-06
  • 2021-06-15
  • 1970-01-01
相关资源
最近更新 更多