【问题标题】:Map2 in elm with lambda榆树中的 Map2 与 lambda
【发布时间】:2017-04-04 18:26:49
【问题描述】:

我想改变这个:

add a b =
    a + b


List.map2 add [1,2] [3,4]

这样的:

List.map2 (\(a , b ) -> a + b) [1,2] [3,4]

可能吗?

【问题讨论】:

    标签: lambda elm anonymous


    【解决方案1】:

    是的,您遇到的问题是您的 lambda 被定义为接受 (a, b) 的元组而不是两个参数。这就是您要编写的内容(注意 lambda 参数中缺少括号和逗号):

    List.map2 (\a b -> a + b) [1,2] [3,4]
    

    由于有两个参数,而+ 有两个参数,您可以利用将中缀运算符包装在括号中的功能(如the docs 所示),并将其缩小为像这样写:

    List.map2 (+) [1,2] [3,4]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多