Il existe une variante de la boucle for qui permet de faire la même chose plus facilement. Pour cela, il suffit d'utiliser downto
à la place de to
. Traduction : downto = en descendant jusqu'à
. Un petit exemple :
for i = 20 downto 1 do print_int i; print_newline(); done;
Remplacer to
par downto
dans une boucle for
pour avoir des valeurs du compteur décroissantes.
Comme d'habitude, prenez le temps de regarder sur un exemple les messages d'erreurs de construction de la structure. Ce n'est vraiment pas du temps perdu.
Simulons ainsi l'oubli du do
:
for i = 5 to 7 print_int i; print_newline(); done;
File "test.ml", line 4, characters 0-4: Syntax error
C'est une erreur de syntaxe au niveau du done
, un peu comme lorsqu'on oublie un then
dans une structure if
, et qu'on obtient une erreur sur le else
.