【发布时间】:2013-01-16 01:00:42
【问题描述】:
我正在尝试实现一个功能
ziprev : 'a list -> 'b list -> ('a * 'b)list
- ziprev [1,2,3,4] [10,20,30,40];
val it = [(1,40),(2,30),(3,20),(4,10)] : (int * int) list
使用 zipWith 和库中的 List.rev。
我对函数是什么感到困惑。尝试:
fun ziprev xs ys = List.zipWith(List.rev(fn(a,b) => (a,b)::[]),xs,ys);
运算符:'Z 列表操作数:'Y * 'X -> ('Y * 'X) 列表
【问题讨论】:
-
您的
zip实施使用zipWith工作了吗?从那里开始下一步应该很容易。
标签: list functional-programming reverse sml higher-order-functions