Ceylon 锡兰无限大可调发电机

Ceylon 锡兰无限大可调发电机,ceylon,Ceylon,在锡兰有没有一种简单的方法来创建一个无限iterable,它通过调用相同的给定no args函数来生成每个元素?换句话说,语言模块是否提供了与Java 8相当的功能?以下是我的想法: {Value+} generator<Value>(Value() generate) => {generate()}.cycled; {Value+}生成器(Value()生成)=>{generate()}.cycled; 这是因为{generate()}是懒惰的。不,这实际上现在并不存在,

在锡兰有没有一种简单的方法来创建一个无限iterable,它通过调用相同的给定no args函数来生成每个元素?换句话说,语言模块是否提供了与Java 8相当的功能?

以下是我的想法:

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

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

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

class Generator<T>(T func()) satisfies Iterable<T> {
    object iter satisfies Iterator<T> {
        next() => func();
    }
    iterator() => iter;
}
类生成器(T func())满足Iterable{
对象iter满足迭代器{
next()=>func();
}
迭代器()=>iter;
}
您也可以在上打开请求:

。这就是我回答的问题;)