2010-12-07 8 views

答えて

12

foldl1 " 2つの入力引数と戻り値が同じ型でなければなりません。式では、Num b => (a, b)の2タプルが返され、純粋な数値ではないNum b => bが返されることが予想されます。

foldlを使用して、初期値、たとえば

を指定することができます
foldl (\acc elm -> acc + snd elm) 0 [(1,2),(3,4)] 

または使用する既存の機能

(sum . map snd) [(1,2),(3,4)] 
2

あなたはfoldl1に提供機能は、お使いのアレイにある同じ型の値を返す必要があります。

配列にはタイプ(Number, Number)のタプルが含まれていますが、タイプはNumberです。

あなたはこのケースでは数を返したい場合は、あなたではなくfoldl1よりfoldlを使用する必要がありますし、(KennyTMは上に書いたように:D)ややこれをwritewrite

関連する問題