[英]How can I make this list deconstruction work well in haskell?
我有 2 個練習,但我不明白如何讓它們工作。 我試圖弄清楚,但我不明白。 我能得到一些幫助嗎?
headTail :: [a] -> (a, [a])
headTail (l: ls) = (headTail l, [ls])
doubleHead :: [a] -> [b] -> (a, b)
doubleHead (l:ls) =
我會在這兩種情況下使用模式匹配。
(l:ls)
將列表的第一個元素分配給l
,將其余元素分配給ls
。 您可以按照說明將它們作為元組返回。
headTail :: [a] -> (a, [a])
headTail (l:ls) = (l, ls)
這里我們只關心兩個列表的第一個元素。 因此,我們將它們模式匹配為x
和y
並且根本不捕獲其余部分(由_
表示)。 並將它們作為元組返回。
doubleHead :: [a] -> [b] -> (a, b)
doubleHead (x:_) (y:_) = (x, y)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.