【问题标题】:How to use map in a function如何在函数中使用地图
【发布时间】:2015-04-07 05:59:48
【问题描述】:

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

map(fn x => x * 2);

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

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

调用这个函数我得到了

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

如何将此函数命名为双精度?

【问题讨论】:

    标签: dictionary sml smlnj ml


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

    【讨论】:

    • 我认为我是正确的。老师们注意到说命名一个函数 double 使用高阶函数映射将列表中的每个元素加倍。只是奇怪的措辞。谢谢
    猜你喜欢
    • 2020-01-10
    • 2019-10-26
    • 2019-09-28
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多