【发布时间】:2013-01-13 08:29:08
【问题描述】:
我几天前问过这个问题,但现在我对这个问题有了更多的了解。但是我仍然遇到运算符和操作数不同意的问题:
使用 ListPair.foldr 我需要创建一个函数 zipWith 来组合成对的两个列表。整体函数的类型应该是:
zipWith : ('a * 'b -> 'c) -> 'a list -> 'b list -> 'c list
ListPair.foldr : ('a * 'b * 'c -> 'c) -> 'c -> 'a list * 'b list -> 'c
- zipWith (fn (x, y) => x + y) [1,2,3,4] [10,20,30,40];
val it = [11,22,33,44] : int list
我的尝试:
fun zipWith xs ys = ListPair.foldr(zipWith(x,y,z) => (x+y)::z) 0 xs ys
【问题讨论】:
-
查看我对类似问题的回答stackoverflow.com/q/14551062/634025
-
好的,谢谢,我很接近哈哈
标签: functional-programming sml currying fold