2015-04-06 102 views
1

地图中的功能非常简单。我想将列表中的每个元素都加倍:如何在功能中使用地图

map(fn x => x * 2); 

但是如果我想命名这个函数是双重的呢?

fun double = map(fn x => x * 2); 

调用这个函数,我得到

- double [1,2,3]; 
val it = fn : int list -> int list 

我该如何命名这个功能增加一倍?

回答

1

map (fn x => x * 2)结果是一个函数,它可以被绑定到一个标识符:

- val double = map (fn x => x * 2); 
val double = fn : int list -> int list 

- double [1,2,3]; 
val it = [2,4,6] : int list 

fun形式仅仅是语法糖。例如:

fun name param = ... 

将脱到:

val rec name = fn param => ... 

rec的是,可以让你实现递归函数定义的关键字。

+0

我以为我对此是正确的。教师注意到这个名字是一个函数double,它使用高阶函数图将列表中的每个元素加倍。只是奇怪的措辞。谢谢 – Programatic