【发布时间】:2021-11-30 10:05:35
【问题描述】:
我有以下haskell代码:
为什么x0的模式匹配不到函数f?
【问题讨论】:
-
鉴于这个问题和您的上一个问题非常相似,我认为可能是时候转到您最喜欢的教程的模式匹配部分并更仔细地查看它了。
标签: haskell functional-programming pattern-matching
我有以下haskell代码:
为什么x0的模式匹配不到函数f?
【问题讨论】:
标签: haskell functional-programming pattern-matching
y 和 ys 是列表的两个元素。因此,这意味着模式:
(x,xs) : [y, ys] 是 (x, xs) : y : ys : [] 的缩写。因此,该列表包含 三个 项:第一项是 2 元组 (x, xs),第二项是 y,第三项是 ys。
因此,您可以将其与:
-- ↓ ↓ ↓ three items in the sublist
[ [(1,[1]),(1,[1]), (1,[1])]]
或者你应该匹配这个:
f :: [[(a, [b])]] -> Int
f (((x, xs) : _) : y : _) = 0
【讨论】: