1

SMLにN個の要素のリストがあります。

そのリストのすべての要素に関数を適用したいので、mapを使用します。

ただし、適用したい関数には、次のような複数の引数があります。

 foo a b (c, d)

ここで、aはリストから使用している要素であり、bcとdは毎回同じである事前定義された変数です。

私は自分の関数を次のように宣言します:

 fun foo2 = map foo aList b (c,d)

しかし、予期されていた演算子とオペランドのエラーが発生しますが、これを行う他の方法を考えることができます。

4

2 に答える 2

6
fun foo2 list = map (fn x => foo x b (c, d)) list
于 2012-10-03T20:22:00.973 に答える
1

foo の引数の順序を変更すると便利です。もちろん、ラッパーを作成することもできます。

fun foo_swapped_args b (c,d) a = foo a b (c, d)

それからあなたはすることができます

map (foo_swapped_args b (c,d)) aList
于 2012-10-03T20:06:22.210 に答える