私はテストを書くために〜10の関数を持っています。それらはすべて同じ型の2つの引数をとります。すべての可能な入力クラスのリストを作成し、可能なすべてのバリエーションを繰り返してテキストファイルに出力するだけで、プロセスを少し自動化できると思いました。私のコード、howewerは、 "a"で始まるバリエーションのみをリストしています。あなたはl2
のための空のリストと再帰呼び出しを行う|[] -> test t1 l2
ラインでOCaml - 反復可能なすべてのバリエーションを見つける
let x = ["a "; "b "; "c "; "d "; "e "; "f "; "g "; "h "]
let oc = open_out file
let rec test l1 l2 =
match l1 with
|[] -> 0
|h1::t1 ->
match l2 with
|[] -> test t1 l2
|h2::t2 ->
fprintf oc "%s\n" (add^h1^h2);
fprintf oc "%s\n" (sub^h1^h2);
fprintf oc "%s\n" (mul^h1^h2);
fprintf oc "%s\n" (div^h1^h2);
test l1 t2;;
test x x;
close_out oc;