-3

我需要实现一个功能

 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。我不知道如何用两个库做一个函数。有什么建议么?

4

1 回答 1

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是什么?

于 2013-01-29T20:03:17.767 回答