【发布时间】:2011-11-28 23:20:15
【问题描述】:
我一直在尝试比较 Haskell 中的两个列表并找到答案 here。
我想知道all (flip elem listx) input 是如何工作的,尤其是flip 在这里扮演的角色。
当我取出 flip 时,它不再起作用了。
【问题讨论】:
-
注意:我怀疑这会是惯用的写法:
all (`elem` listx) input。如果您了解反引号和运算符部分,这应该是有道理的。 -
但是为什么这里 elem 是一个中缀呢?
-
任何具有至少 2 个参数的函数都可以以中缀形式使用。因为
e ´elem´ list比elem e list读起来更好,所以很多人更喜欢这种方式。 -
但是两个参数是listx和input?所以这里不是前缀符号吗?
-
input不是elem的论据,相当。从左到右阅读。all接受两个参数,一个函数和一个列表,如果函数对列表中的所有内容都为真,则返回真。 elem 的参数是 listx 和一个来自输入的元素。
标签: haskell comparison flip