【发布时间】:2010-12-13 20:24:47
【问题描述】:
所以使用 GHCI,这些语句是等价的,这对我来说很有意义,因为 end0 中的列表表达式是 end1 中的列表表达式的语法糖:
let end0 [x,y,z] = z
let end1 (x:y:z:[]) = z
但是从 end1 的模式中取出括号会给我一个“模式中的解析错误”错误。那为什么呢?括号在模式匹配中是否具有特殊含义,还是像我通常在将括号与运算符一起使用时所想到的优先级问题?
【问题讨论】:
-
注意:这并不特定于 GHCi。
-
啊,我应该删除 GHCI 标签并使其仅成为 Haskell 吗?我猜对我来说它仍然相关,因为我通常在 GHCI 中使用这些构造。
-
您通常不会在 GHCi 之外进行模式匹配?因为任何涉及构造函数的匹配都是如此。
-
不,只是我在 GHCi 时想到了这个问题,所以最初我认为我的问题是 GHCI 特定的,直到被第一条评论纠正。