我只在哈斯克爾兩天,現在,想知道以下兩個函數定義之間的區別是:語法列表構造/級聯
Prelude> let swap (x1:x2:xs) = x2:x1:xs
Prelude> swap [1..5]
[2,1,3,4,5]
Prelude> let swap' (x1:x2:xs) = [x2] ++ [x1] ++ xs
Prelude> swap' [1..5]
[2,1,3,4,5]
也就是說,是什麼讓X2:X1 :xs不同於[x2] ++ [x1] ++ xs? 請和謝謝。
你是什麼意思不同?它們的指示是相同的,即交換和交換「做同樣的事情。 – augustss 2011-04-13 12:53:28