【问题标题】:Infinite iterable generator in CeylonCeylon 的无限可迭代生成器
【发布时间】:2013-11-25 03:41:10
【问题描述】:

在 Ceylon 中是否有一种简单的方法来创建无限迭代,通过调用相同的给定无参数函数来生成每个元素?换句话说,语言模块是否提供与 Java 8 的 Stream.generate(Supplier<T>) 等效的功能?

【问题讨论】:

    标签: ceylon


    【解决方案1】:

    这是我想出的:

    {Value+} generator<Value>(Value() generate) => {generate()}.cycled;
    

    这是因为 {generate()} 是懒惰的。

    【讨论】:

      【解决方案2】:

      不,这实际上并不存在,我认为“锡兰”的方式是这样的:

      class Generator<T>(T func()) satisfies Iterable<T> {
          object iter satisfies Iterator<T> {
              next() => func();
          }
          iterator() => iter;
      }
      

      您也可以在以下位置提出请求:the language module

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      相关资源
      最近更新 更多