簡單的問題,不確定如何去做。Haskell:記住列表中的前一個元素
我寫Data.List模塊從之功能更有限的版本,並有下面的代碼:
-- Sum the contents of a list
sum' :: Num a => [a] -> a
sum' [] = 0
sum' (x:xs) = x + sum' rest where
rest = drop (succ (elemIndex x xs)) xs
我相信這會工作,如果elemIndex的X論點在範圍當前列表元素。
我想這樣做,而無需使用可摺疊,作爲基本的可能,因爲這是他蓋,然後摺疊,或大多數Haskell的想法寫在格雷厄姆赫頓的哈斯克爾預期編程問題。
這是使用摺疊的確切情況。我會認爲摺疊是一個「原始」。 – Carcigenicate
總結一個列表,它只是'foldl + numbers'。一旦你使用了幾次,摺疊就非常簡單。 – Carcigenicate
你只是想總結一個數字列表?如果這是你的問題,我會寫一個答案。目前還不清楚你到底要做什麼。 – Carcigenicate