SML:列表上的map函数,其函数需要多于1个参数

时间:2012-10-03 19:29:00

标签: list map sml

我有一个SML中的N个元素列表。

我想将一个函数应用于该列表中的每个元素,因此我使用map。

但是我想要应用的函数有多个这样的参数:

 foo a b (c, d)

其中a是我在列表中使用的元素,而b c和d是每次都相同的预定义变量。

我声明我的功能如下:

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

但是我得到了一个操作符和操作数错误,这是预期的,但我可以想到任何其他方法来做到这一点。

2 个答案:

答案 0 :(得分:4)

fun foo2 list = map (fn x => foo x b (c, d)) list

答案 1 :(得分:1)

如果改变了foo的args的顺序,那将是最方便的;当然,你可以制作一个包装材料:

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

然后你可以做

map (foo_swapped_args b (c,d)) aList
相关问题