|
|
1
16
整理实现的最简单方法是使用
guards
. 而不是
(注意
(此实现是 used by GHCs Prelude ) 现在,它们都不是尾递归的。这可能是不利的,但它确实使功能变得懒惰。如果我们想要一个尾部递归版本,我们可以编写
但是,请注意,由于
这些实现看起来都像您的。当然,还有其他的。一是基于
我们利用这里的无点风格;因为
您还可以利用以下列表:
列表monad表示不确定性。你选择一个元素
我们也可以调整
这个
Data.Foldable module
提供
我肯定有(很多!)其他实施
|
|
|
2
7
对清单的理解如何?
|
|
3
3
你至少可以抽出那根普通的干掉一点。
|
|
|
4
2
对比一下,这里是维基百科的实现:
|
|
|
5
1
在哈斯克尔,大部分时间你可以(也应该)使用 guards 而不是if-then-else:
这最终是基本上相同的定义使用 in the standard library . |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
D_chez12 · 如果对象键值为空,则过滤掉数组中的对象 1 年前 |
|
|
ForEverNewbie · 筛选时间段在另一行时间段内的行 2 年前 |