-2

関数を実装しようとしています

 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)リスト

4

1 に答える 1

1

SMLベーシスライブラリにはないList.zipWithので、どこから入手したのかわかりません。List.revは引数として関数を取りません、引数としてリストを取ります

- rev;
val it = fn : 'a list -> 'a list

私はあなたが達成しようとしていることはListPair.zip代わりの線の何かだと思います

- fun ziprev xs ys = ListPair.zip(xs, rev ys);
val ziprev = fn : '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
于 2013-01-31T22:53:53.957 に答える