我正在尝试使用myMap
创建一个将x
应用于函数列表的函数map
。
示例:
myMap [f1, f2, ..., fn] x
==> [f1(x), f2(x), ..., fn(x)]
我相信我需要编写一个匿名函数来完成这项任务,但我很难理解它们是如何工作的。
我的尝试:
fun myMap [x] y = [fn => x ] => x;
答案 0 :(得分: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
。