これは、最初の 2 つのリスト要素のみを調べるカリー化された関数です。
fun inn list f = f(hd(list), hd(tl(list)));
私が知りたいのは、残りのリスト要素を調べる方法です。再帰的にする方法がわかりません。誰でも私を助けることができますか?
これは、最初の 2 つのリスト要素のみを調べるカリー化された関数です。
fun inn list f = f(hd(list), hd(tl(list)));
私が知りたいのは、残りのリスト要素を調べる方法です。再帰的にする方法がわかりません。誰でも私を助けることができますか?
最初の注意:と を使用しないでください。代わりにパターン マッチングを使用してください。hd
tl
関数に何をさせたいのか正確にはわかりませんが、リストを反復処理し、すべての要素に f を適用するものを次に示します。
fun iter f l =
case l of
[] => ()
| x::xs => (f x; iter f xs)
次のようにもっと簡潔に書くことができます
fun iter f [] = ()
| iter f (x::xs) = (f x; iter f xs)
価値があるのは、この関数そのものが標準基底ライブラリで という名前で利用できるからですList.app
。