![]() |
1
8
你可以创建你自己的自然数…
那么A是真的,多亏了懒惰的评价。Len使用folder很重要,foldl不适用于无限列表。你也可以做一些算术(没有测试):
例如,2*Infinity+3是Infinity:
二解 另一种解决方案是使用()列表作为惰性自然数。
检查 Hackage . 编辑:添加实例号。 编辑2: 将第二个解决方案转换为python:
要添加数字,请使用itertools.chain;要进行乘法,请使用itertools.product。这不像哈斯凯尔那样漂亮,但很管用。 在任何其他带有闭包的严格语言中,您都可以使用类型()->a而不是a来模拟惰性。这样就可以将第一个解决方案从haskell转换为其他语言。然而,这很快就会变得不可读。 |
![]() |
2
3
如果不是因为懒惰,我认为这会在F中起作用:
但由于我们需要懒惰,它扩展到:
这说明为什么人们只在哈斯克尔写这些东西。 |
![]() |
3
2
你可能可以通过尝试获得超过42个元素来达到你想要的效果。 |
![]() |
4
1
我不确定我理解你的问题,但让我们试一试。也许你在寻找小溪。我只说二郎语,不属于FP语系,所以…
调用流总是返回下一个元素,并且应该调用一个有趣的元素来检索下一个元素。这样你就可以得到懒惰的评价。 然后您可以定义一个比函数长的is-stream为:
结果:
|
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 7 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 7 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |