-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。2 つのライブラリで関数を実行する方法がわかりません。助言がありますか?

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 に答える