0

関数がタプルとペアのリストを取り、タプルを返す必要があるという次の問題がありますが、次のエラーが発生しました

a is tuple contains (int*list) and x is list of pairs [(a1,b1).....(an,bn)]

私がやりたいのは、2つのリストを一緒に追加すること[9;9] [1;0;2]です. これは私が混乱した関数です 。[2;0;1]list.fold_left

list.fold_left f (0;[]) (List.combine(List.rev(l1),List.rev(l2))

したがってa、タプルには(int*list) xが含まれている必要がありますペアのリストです

4

1 に答える 1

1

関数を使用List.fold_leftすると、一度にリストの要素を1つだけ取得します。あなたの関数fは、のようなもののリストを期待するように書かれているように私には見えますx。ただし、x1つのペアになります(コードを正しく読んでいる場合)。

編集

fまるでリストであるかのように書いたので、と一緒にx使用すると、本質的に、その引数はリストのリストでなければならないと言っていることになります。これは、エラーメッセージが示していることです。それがペアになるように書き直すと(これはあなたが望むものです、私はかなり確信しています)、これはエラーを修正します。List.fold_leftffx

于 2013-02-01T04:36:30.790 に答える