1

2つのリストを差し引いて、比較した製品を返そうとしています。

したがって、リストa = [2,3,2] b = [1,1,1]の場合、ab = [1,2,1]となり、返される製品(c)は1になります。

val c = List.map (fn i => (i - b) mod 10) a

モジュロ(mod)10は、2つの減算された数値が奇数の結果をもたらす場合、たとえば2-8 =〜6 mod 10=4の場合です。

List.mapは、intリストではなくint値を期待しているため、減算を実行できません(少なくとも、コーディングした方法ではありません:()。

私も比較については空白です。

4

2 に答える 2

3

ListPair.map次のように、一度に2つ以上のリストを反復処理するために使用できます。

val c = ListPair.map (fn (i, j) => (i - j) mod 10) (a,b)
于 2010-09-17T01:27:41.167 に答える
1

減算する必要はありませんb対応する値を減算する必要があります。これを行う便利な方法は、リストをまとめて圧縮することです。

val c = List.map (fn (i, j) => (i - j) mod 10) (ListPair.zip (a, b))
于 2010-09-17T01:25:31.427 に答える