While Let
Syntaxe commune
print x
x + 1
/while
Pour incrémenter une variable, Scriptol utilise x + 1.
Cela ne pourrait fonctionner en C et autres langages.
Boucle infinie en C
Les langages C et dérivés (C++, Java, C#) amènent facilement à des boucles infinies. En voici deux exemples.
{
printf("%d\n", x);
x += 1:
}
Peut-être l'avez vous immédiatement noté,
(ou peut-être que non!), mais le construct est mauvais,
à cause du point-virgule après la condition!
Autre exemple, sans point-virgule mal placé:
{
printf("%d\n", x);
if(x = 5) continue;
... quelques instructions ...
x += 1;
}
Une fois atteinte la valeur 5 en x, le compteur ne changera plus jamais, parceque l'incrémentation est sautée par l'instruction "continue" et donc la boucle ne finira jamais.
While let
Scriptol utilise une syntaxe sécurisée pour éviter les boucles infirnies:
print x
if x = 5 continue
... quelques instructions ...
let x + 1
En Scriptol, l'instruction "continue" saute sur l'instruction "let" et la variable de la condition est incrémentée à ce point.