Functional programming 将x应用于函数列表(SML)
我正在尝试创建一个函数Functional programming 将x应用于函数列表(SML),functional-programming,sml,smlnj,Functional Programming,Sml,Smlnj,我正在尝试创建一个函数myMap,它使用map将x应用于函数列表 示例: myMap [f1, f2, ..., fn] x ==> [f1(x), f2(x), ..., fn(x)] fun myMap [x] y = [fn => x ] => x; 我相信我需要写一个匿名函数来完成这个任务,但是我很难理解它们是如何工作的 我的尝试: myMap [f1, f2, ..., fn] x ==> [f1(x), f2(x), ..., fn(x)] fun
myMap
,它使用map
将x
应用于函数列表
示例:
myMap [f1, f2, ..., fn] x
==> [f1(x), f2(x), ..., fn(x)]
fun myMap [x] y = [fn => x ] => x;
我相信我需要写一个匿名函数来完成这个任务,但是我很难理解它们是如何工作的
我的尝试:
myMap [f1, f2, ..., fn] x
==> [f1(x), f2(x), ..., fn(x)]
fun myMap [x] y = [fn => x ] => x;
我不确定您在尝试中试图做什么,因为它无效
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