Ich habe ~ 10 Funktionen, für die ich Tests schreiben möchte, sie alle nehmen zwei Argumente des gleichen Typs. Ich dachte, ich könnte den Prozess ein wenig automatisieren, eine Liste aller möglichen Eingabeklassen erstellen und alle möglichen Variationen mit Wiederholungen in eine Textdatei drucken. Mein Code funktioniert allerdings nicht ganz, nur die Variationen, die mit "a" beginnen.OCaml - Finden Sie alle möglichen Variationen mit Wiederholungen
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;