0

我正在尝试创建一个myMap适用x于函数列表的函数,使用map.

例子:

myMap [f1, f2, ..., fn] x 
==> [f1(x), f2(x), ..., fn(x)]

我相信我需要编写一个匿名函数来完成这项任务,但我无法理解它们是如何工作的。

我的尝试:

fun myMap [x] y = [fn => x ] => x;
4

1 回答 1

2

我不确定您在尝试中要做什么,因为它无效sml,但是您可以将函数列表应用于这样的单个值

- fun myMap x fns = map (fn f => f x) fns;
val myMap = fn : 'a -> ('a -> 'b) list -> 'b list

你可以试试看

- myMap 1 [(fn x => x+1), (fn x => x+2), (fn x=> x+3)];
val it = [2,3,4] : int list

您可以看到匿名函数的语法是fn arg => body.

于 2013-09-28T06:28:41.773 回答