| Documentation language LUA |
Instructions de sélection |
While..do
repeat...until
For...do
If .. then ...elseif...else
Les structures de commande de Lua seront familiers aux programmeurs. Les expressions conditionnelles mentionnées ("exp") sur cette page sont aussi abordées au chapître Expressions. Veuillez lire préalablement la note sur les valeur nil Expressions.
L'expression de boucle conditionnel while a
la
forme
:
while condition do instruction end
Par exemple, une boucle simple :
i = 3
> while i>0 do
>> print(i)
>> i = i-1
>> end
3
2
1
Nous pouvons quitter la boucle de while en utilisant le
mot-clé break .
Notez, dans Lua
que le mot-clé break doit être le dernier mot dans un
bloc, c.-à-d. que le mot-clé end doit le suivre. Vous
obtiendrez des erreurs de compilation si vous n'avez pas break end.
a,b = 0,1
> while true do -- infinite loop
>>
io.write(b, ", ")
>> a,b = b,a+b
>>
if a>500 then break end -- exit the loop if the condition is true
>> end
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, >
L'expression faisant une boucle conditionnel repeat a la forme
:
repeat instruction until condition
Par exemple, une boucle simple :
i = 3
> repeat
>> print(i)
>> i = i-1
>> until i==0
3
2
1
Comme por l'expression while nous pouvons quiiter la boucle repeat utilisant break:
> i = 1
> repeat
>> print(i)
>> i = i+1
>>
if i>3 then break end
>> until cows_come_home
1
2
3
cows_come_home est
une variable qui n'est pas définie.
Quand nous l'accédons nous obtenons la valeur nil,
qui signifie "jusqu'à faux", ou pour toujours.
l'expression de réitérer for a deux
formes. Le premier est pour l'itération numérique, par
exemple,
> for count = 1,3 do print(count) end -- numerical iteration
1
2
3
La seconde est pour l'itération séquentielle, par exemple imprimer le contenu d'une table :
> for key,value in {10, math.pi, "banana"} do print(key, value)
end
1 10
2 3.1415926535898
3 banana
L'exemple ci-dessus est modifié avce une combinaison de syntaxe pour
l'exemple suivant. for est passé à une
fonction d'iteration, qui est ici la fonction pairs(),
dont le but il est de fournir les valeurs de chaque itération :
> for key,value in pairs({10, math.pi, "banana"}) do print(key,
value) end
1 10
2 3.1415926535898
3 banana
Il y a plus de détail sur toutes les formes de for au chapître
Boucle
For.
l'expression if a la forme :
if condition then instruction { elseif condition then instruction}
[ else instruction ] end
Par exemple if ... then ... end
if 10>2 then print("bigger") end
bigger
if ... then ... else ... end
> if 1>10 then print("bigger") else print("smaller")
end
smaller
if ... then ... elseif ... else ... end
> number = 3
>
if number < 1 then
>>
value = "smaller than one"
>> elseif number==1 then
>>
value = "one"
>> elseif number==2 then
>>
value = "two"
>> elseif number==3 then
>>
value = "three"
>> else
>>
value = "bigger than three"
>> end
> print(value)
three
www.loriotpro.com |
|