17得票2回答
Clojure中的lazy-seq有什么作用?

我正在查看一些Fibonacci序列Clojure代码的示例: (def fibs (lazy-cat [1 2] (map + fibs (rest fibs)))) 我大体理解正在发生的事情,但不明白 lazy-cat 的意义。我知道 lazy-cat 是一个宏,将被翻译成类似于这样的东西...

10得票10回答
在Ruby中迭代无限序列

我正在尝试解决欧拉计划问题#12: The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 ...

10得票4回答
从给定的有限列表生成 LINQ 无限列表

有限元素列表如何创建一个(由于LINQ而)惰性评估的无限列表,它只是不断迭代我的初始列表? 如果初始列表是{1, 2, 3},我希望新列表返回{1, 2, 3, 1, 2, 3, 1, ...}

9得票5回答
如何在Scala中缩短for循环(中断它)?

我有一段代码,它看起来像这样:val e2 = for (e <- elements if condition(expensiveFunction(e))) yield { expensiveFunction(e) } 条件对于一些元素为真,然后...

7得票5回答
一个无限连续的一半序列的Linq语句

假设有一个起始数字,想象它无限次地被分成两半。 1, 0.5, 0.25, 0.125, ... (忽略的任何数值不稳定性。) 这可以在不编写任何自定义扩展方法或生成器方法的情况下用单个表达式完成吗?