質問

fold(+)0 sample を実行すると、(+)があまりにも多くの引数に適用されているというエラーが表示されます。なぜですか? ジェネラコディセタグプレ

ジェネラコディセタグプレ

関連項目:折りたたむ

役に立ちましたか?

解決

foldには、最初のパラメーターとしてa -> b -> b -> bタイプの関数が必要です。これは、3つの引数を取る関数です。一方、(+)は2つの引数しか取りません。

foldを変更する必要があるかどうか、または別の関数で呼び出す必要があるかどうかは、正確に何をしようとしているかによって異なります。

他のヒント

問題は、関数を3つの引数に適用していることです。型シグネチャの最初のパラメータがすべてを示しています。 ジェネラコディセタグプレ

(+)は2つの引数しか取りませんが、それを渡すと、これを評価しようとします: ジェネラコディセタグプレ

おそらく二項関数(a-> a-> a)でフォールドしたいと思うでしょう。(+)を使用するとします。結果は次のようになります: ジェネラコディセタグプレ

そこから一般化するのは簡単です。+を中置されたfに置き換えるだけです ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top