以下是将'foldl'应用于此特定相等运算符的一些结果。我不理解它们 - 我认为每一行都应该返回true,因为“False == False == False ...”无论列表的长度如何都是真的。我是Haskell的新手。
Prelude> foldl (==) False [False]
True
Prelude> foldl (==) False [False,False,False]
True
Prelude> foldl (==) False [False,False,False,False]
False
Prelude> foldl (==) False [False,False,False,False,False]
True
Prelude> foldl (==) False [False,False,False,False,False,False]
False
我在尝试编写一个函数时发现了这些结果,该函数测试函数列表在应用于公共参数(返回布尔值)时是否给出相同的结果。
答案 0 :(得分:4)
==是二元运算符。当你写False == False == False时,你真的在写(False == False)== False,这是True == False。也许现在你可以理解发生了什么。
Alexis King'
在评论中提交的答案