Boucles
Il est possible d'itérer sur les valeurs, comme dans n'importe quel autre language.
Boucle for in
for in
Dans l'exemple dessus, on itère sur chaque élément de la variable $NAMES
. A chaque itération on affecte l'élément en cours à la variable temporaire $NAME
, qu'on peut utiliser au dans le bloque entre do
et done
.
Ceci est très utile pour la construction de nos scripts.
Par exemple, si j'ai un nombre de paramètres inconnu, je pourrais itérer sur chaque paramètre :
Si on exécute ce script on aura le suivant :
Souvenez vous que la commande ls
ne retourne que la liste des fichiers et répertoires, sans plus d'information, et en omettant les fichiers cachés ? Ce n'est pas si mal, surtout si on veut itérer sur les fichiers d'un dossier et en faire quelque chose :
Boucle while
while
La boucle for
ne permet pas de tester une condition quelconque, avec la commande test
.
Parfois, ceci est nécessaire, et serait possible avec la condition while
.
Exercice
Créez un mini-jeu où le script choisit une valeur aléatoirement. L'utilisateur doit deviner la valeur. Le script doit aider l'utilisateur à trouver la bonne valeur :
S'il devine une valeur trop grande, le script doit l'indiquer
S'il devine une valeur trop petite, le script doit l'indiquer
Le jeu se termine quand on devine la bonne valeur. Le score est le nombre de tentatives avant de deviner la bonne valeur.
Dernière mise à jour