¿Por qué usar variables locales?
Parte de la sección Fundamentos del Journey de Lua de Coddy. Lección 85 de 90.
Cómo evitar conflictos de nombres: La ventaja más importante de las variables locales es que evitan que sobrescribas accidentalmente otras variables con el mismo nombre. Cuando usas variables globales en todo el programa, es fácil reutilizar accidentalmente un nombre de variable y cambiar un valor que no pretendías modificar.
score = 100 -- la puntuación del jugador
function countEnemies()
score = 0 -- pensado como contador solo para esta función
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 3: ¡se sobrescribió la puntuación del jugador!La función debía usar su propio contador, pero como score es global, cambió la puntuación del jugador en su lugar. Añadir local le da a la función una variable independiente que existe solo dentro de ella:
function countEnemies()
local score = 0 -- una variable nueva, solo dentro de esta función
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 100: la variable global score no se modificaCon las variables locales, cada función y bloque tiene sus propias variables independientes, por lo que el código de un lugar no puede cambiar accidentalmente los valores que se usan en otro.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario11Tablas 2: Estilo Diccionario
Pares Clave-ValorCreación de Tablas Estilo DiccionarioAcceso - Notación de CorchetesAcceso con Notación de PuntoAñadir y Modificar ParesEliminar Pares con nilResumen - Propiedades de Elementos14Ámbito de las variables
Variables globalesVariables locales¿Por qué usar variables locales?Ámbito y bloquesRepaso - El acertijo del ámbito3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de áreaPractica por tu cuenta: Compilador de Lua online