如何在函数中使用映射

How to use map in a function

地图中的功能非常简单。我想将列表中的每个元素加倍,可以做到:

map(fn x => x * 2);

但是如果我想将这个函数命名为 double 呢?

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

调用这个函数我得到

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

如何将此函数命名为 double?

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 部分是一个关键字,可让您实现递归函数定义。