我读了About `let 5 = 10`这个问题,我没有在这里使用任何版本,在我的例子中,我将代码写入文件并执行它,所以我的问题尚未得到解答。
我今天提出了类似的问题关于rare Pattern Matching,我们的一位朋友正在教我们Haskell中函数式编程的基础,他开始编写我见过的最稀有的东西:
他从不太开心的事情开始,但很酷:
(x,y) = (10,20)
(z:zs) = 0 : [1..]
并在前奏中显示:
prelude> x
10
prelude> z
1
prelude> takeN 3 zs
[1,2,3]
到目前为止,那么好......然后是最稀有的东西,在我们写的文件中:
(x,y) = (10,20)
(z:zs) = 0 : [1..]
True = False -- HERE
什么!班上的每个人都认为,好的,会出现问题,但是甚至编译的代码,然后运行:
prelude> x
10
prelude> 4
4
prelude> True
True
他告诉我们:“你认为你对哈斯克尔和”模式匹配“了解多少?我们回答,我们知道......但是他表明了这一点,我们把脸像”WTF?“,并告诉我们,我们必须进行一些研究,以了解刚刚发生的事情,但我真的不知道,甚至不知道在哪里看。