0
下面的代碼是一個函數sum2,它作爲參數 獲取一個數字列表並返回偶數 索引的元素總和。任何人都可以解釋這個代碼的工作原理什麼是X和X以及如何找到偶數並添加它們?Haskell函數列表(查找偶數索引並添加它們)〜代碼說明
sum2 :: [Integer] -> Integer
sum2 [] = 0
sum2 (x:xs) | mod x 2 == 0 = x + sum2 xs
| otherwise = sum2 xs
sum2' :: [Integer] -> Integer
sum2' [] = 0
sum2' [x] = x
sum2' (x:_:xs) = x + sum2' xs
,所以如果你在控制檯SUM2 [2,3,3,4,0,6]將只添加偶數,結果將是命中:12
我不明白你的第一點,爲什麼我們應該跳過第二個並添加第一個? – csandreas1
@ csandreas1它基本上彈出列表中的2個元素,並保留其中一個元素。如果你想要保持第一個索引的索引,並且如果你想要奇數索引,你需要第二個(並且單個元素的情況也會忽略該元素)。 '_'基本上意味着忽略這個元素 - 因爲我們沒有命名它,所以我們不能使用它。 – ryachza