Les conditionnels en Lua
Introduction aux conditionnels
Les conditionnels sont des éléments fondamentaux de la programmation, car ils permettent d'évaluer des conditions pour déterminer le flux d'exécution d'un programme. En termes simples, ils permettent d'exécuter des blocs de code en fonction de si une condition est vraie ou fausse.
Les instructions if
En Lua, une instruction if a la structure suivante :
if then
end
Quand la condition est vraie, le code à l'intérieur des accolades est exécuté. Si la condition est fausse, ce code est ignoré. Pour fermer toute instruction conditionnelle, il est impératif d'utiliser le mot-clé end
.
Prenons un exemple d'une instruction if avec une condition vraie :
local a = 13
local b = 16
if a < b then
a = a + 5
end
print(a) -- Cela affiche 18 car a est moins que b.
Dans cet exemple, le code a mis à jour la valeur de a
parce que la condition a < b
était vraie.
Quand la condition est fausse
Observons maintenant un scénario où la condition est fausse :
local a = 8
local b = 10
if a == b then
print(b + a)
end
-- Rien n'est affiché car a n'est pas égal à b.
Puisque a
n'est pas égal à b
, le bloc de code à l'intérieur de l'instruction if est ignoré.
Les instructions else
On peut étendre la logique conditionnelle avec des instructions else :
if then
else
end
Si la condition dans l'instruction if est fausse, alors le code dans l'instruction else sera exécuté. En d'autres termes, l'instruction else sert de plan de secours. Voici un exemple :
local isNightTime = false
if isNightTime then
print("Bonne nuit!")
else
print("Bonjour!")
end
-- Cette instruction affiche "Bonjour!" car la condition est fausse.
Les instructions elseif
Enfin, Lua permet l'utilisation de nombreuses conditions grâce aux instructions elseif :
if then
elseif then
else
end
Cela permet des branches de conditions multiples. Voici un exemple d'utilisation :
local player1 = 9
local player2 = 12
if player1 >= 20 and player2 >= 20 then
print("Tout le monde gagne!")
elif player1 > player2 then
print("Le joueur 1 gagne avec " .. player1 .. " points!")
elif player1 < player2 then
print("Le joueur 2 gagne avec " .. player2 .. " points!")
else
print("C'est une égalité.")
end
-- Cela affiche "Le joueur 2 gagne avec 12 points." car c'est la première condition vraie.