0
私はhaskellでsum関数を作成しようとしています。私は言語にもっと慣れるためにこれをやっています。ハスケル - どこでパターンマッチングを理解しているのですか?
mysum :: [Integer] -> Integer
mysum lst = sm lst
where
sm :: [Integer] -> Integer
sm lst [] = 0
sm lst [x:xs]=
x + sm xs
アイデアがリストの先頭の値を返すようにした、+テールバック関数に送ら:私はそれを定義しました。私はF#で何か似たようなことを思い出しますが、私は単にそれをハズケで働くことはできません。
The error im getting is:
sum.hs:5:5: error:
• Couldn't match expected type ‘Integer’
with actual type ‘[[Integer]] -> Integer’
• The equation(s) for ‘sm’ have two arguments,
but its type ‘[Integer] -> Integer’ has only one
In an equation for ‘mysum’:
mysum lst
= sm lst
where
sm :: [Integer] -> Integer
sm lst [] = 0
sm lst [x : xs] = x + sm xs
|
5 | sm lst [] = 0
| ^^^^^^^^^^^^^...