Menu
CoddyTech

Pourquoi utiliser des variables locales ?

Fait partie de la section Notions fondamentales du Journey Lua de Coddy. Leçon 85 sur 90.

Prévenir les conflits de noms : Le principal avantage des variables locales est qu’elles vous empêchent d’écraser accidentellement d’autres variables portant le même nom. Lorsque vous utilisez des variables globales dans tout votre programme, il est facile de réutiliser accidentellement un nom de variable et de modifier une valeur que vous ne vouliez pas changer.

score = 100  -- le score du joueur

function countEnemies()
    score = 0  -- destiné à servir de compteur uniquement pour cette fonction
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 3 : le score du joueur a été écrasé !

La fonction était censée utiliser son propre compteur, mais comme score est global, elle a modifié le score du joueur à la place. Ajouter local donne à la fonction une variable distincte qui n’existe qu’à l’intérieur de celle-ci :

function countEnemies()
    local score = 0  -- une nouvelle variable, uniquement dans cette fonction
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 100 : la variable globale score reste inchangée

Avec les variables locales, chaque fonction et chaque bloc possède ses propres variables, de sorte que le code à un endroit ne peut pas modifier accidentellement des valeurs utilisées ailleurs.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Notions fondamentales

Entraînez-vous par vous-même : Compilateur Lua en ligne