elm和lambda中的Map2

elm和lambda中的Map2,lambda,elm,anonymous,Lambda,Elm,Anonymous,我想改变这一点: add a b = a + b List.map2 add [1,2] [3,4] 比如说: List.map2 (\(a , b ) -> a + b) [1,2] [3,4] List.map2 (+) [1,2] [3,4] 可能吗?是的,您遇到的问题是lambda被定义为接受(a,b)的元组,而不是两个参数。这就是您想要写的(注意lambda参数中缺少括号和逗号): 由于有两个参数,+接受两个参数,因此您可以利用将中缀运算符封装在括号中(如中所示

我想改变这一点:

add a b =
    a + b


List.map2 add [1,2] [3,4]
比如说:

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

可能吗?

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

由于有两个参数,
+
接受两个参数,因此您可以利用将中缀运算符封装在括号中(如中所示)将其转换为常规函数的功能,并通过如下方式将其细化:

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