Ich habe folgende Liste:Filterelemente in einer Liste nach Länge - Ocaml
["A";"AA";"ABC";"BCD";"B";"C"]
I zufällig ein Element aus der Liste am extrahieren. Aber das Element I extrahieren sollte 3 Größe sein nur nicht weniger als 3
Ich versuche, dies zu tun, wie folgt:
let randomnum = (Random.int(List.length (list)));;
let rec code c =
if (String.length c) = 3 then c
else (code ((List.nth (list) (randomnum)))) ;;
print_string (code ((List.nth (list) (randomnum)))) ;;
Dies funktioniert gut, wenn zufällig ein String der Länge 3 wird ausgesucht aus Die Liste.
Aber das Programm beendet nicht, wenn eine Zeichenkette der Länge < 3 abgeholt wird. Ich versuche, einen rekursiven Aufruf zu machen, so dass neuer Code immer wieder aufgenommen wird, bis wir eine Länge = 3 bekommen.
Ich bin nicht in der Lage herauszufinden, warum dies nicht beendet wird. Von der print-Anweisung wird nichts ausgegeben.
danke. Ich habe es gerade ausprobiert und wollte gerade diesen Beitrag löschen und sah deine Antwort :) Danke nochmal. – JJunior