0

これは、最初の 2 つのリスト要素のみを調べるカリー化された関数です。

fun inn list f = f(hd(list), hd(tl(list)));

私が知りたいのは、残りのリスト要素を調べる方法です。再帰的にする方法がわかりません。誰でも私を助けることができますか?

4

1 に答える 1

3

最初の注意:と を使用しないでください。代わりにパターン マッチングを使用してください。hdtl

関数に何をさせたいのか正確にはわかりませんが、リストを反復処理し、すべての要素に 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

于 2012-09-19T10:46:42.443 に答える