私は現在、試験のために勉強していますが、私はこの練習問題を解決しようとしていますが、関数が真を返すリスト内の要素をカウントする
'a - > bool関数をパラメータとして取り、' a - > bool関数に与えられたときtrueを返すリストの要素の数を返す関数を実装する必要がありますパラメータとして取られる。
これまでのところ、これは私が試したコードは次のとおりです。
test([],funct) = []
|test(x::xs,funct) = if (funct(x) then 1 + test(xs,funct)
else 0 + (xs,funct);
エラー:句の種類が以前のクラスの型と一致していません。 ご協力いただければ幸いです。
さらに、私はあなたのelse文で '0 +'を避けるでしょう。 –
@MarcoLuzzara、個人的に、私は '(if ... then 1 else 0)+ ...'と書いて、呼び出しの重複を避けます。 –
あなたは私にそれを気付かせるようになったので、私は同意します。 –