我需要实现一个函数
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
使用我已创建的功能:
- zipW (fn (x, y) => x + y) [1,2,3,4] [10,20,30,40];
val it = [11,22,33,44] : int list
和库中的List.rev。 我不知道如何用两个库做一个函数。有什么建议吗?
答案 0 :(得分:3)
提示1:
将ziprev
的结果与
List.zip [1,2,3,4] [10,20,30,40]
你应该看到一个相当明显的模式。
提示2:
List.rev
撤消列表。
提示3:
您可以使用zipW
来实施List.zip
吗?
也就是说,如果你想说
normalzip xs ys = zipW something xs ys
something
会是什么?