簡単な質問、それを行う方法がわかりません。ハスケル:リスト内の前の要素を覚えている
私はData.Listからsum関数のより限定されたバージョンを書いて、次のコードを持っている:elemIndexのX引数が範囲にあった場合、私はこれがうまくいくと信じて
-- 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
を現在のリスト要素の
私はそれは、彼が折り畳み式のカバー、またはほとんどのHaskellのアイデアの前に書かれたことが予想Haskellのでグラハムハットンのプログラミングに問題があるため、できるだけ基本として、折り畳み式を使用せずにこれをやりたいです。
を。これは、折り目を使用する正確な状況です。私は折り畳みが「原始的」であると考えています。 – Carcigenicate
リストを合計するには、 'foldl + numbers'だけです。あなたがそれらを数回使用すると、折り畳みは非常に簡単です。 – Carcigenicate
あなたは数字のリストを合計しようとしていますか?それがあなたの質問なら、私は答えを書くでしょう。あなたが何をしようとしているのかはっきりしていません。 – Carcigenicate