Eliminar Pares con nil
Parte de la sección Fundamentos del Journey de Lua de Coddy. Lección 69 de 90.
Cuando asignas nil a una clave, Lua elimina efectivamente ese par clave-valor de la tabla:
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Elimina la configuración de difficulty
settings.difficulty = nil
-- Ahora la clave difficulty ya no existe en la tablaPuedes usar la notación de punto o la notación de corchetes para eliminar un par clave-valor. Tanto settings.difficulty = nil como settings["difficulty"] = nil funcionan exactamente de la misma manera.
Después de asignar nil a una clave, esa clave desaparece por completo de la tabla. Si intentas acceder a ella más tarde, obtendrás nil como resultado, como si la clave nunca hubiera existido.
Desafío
FácilCrea un sistema de configuración del juego que demuestre cómo eliminar configuraciones no deseadas de una tabla estilo diccionario. Comienza creando una tabla llamada gameConfig con los siguientes pares clave-valor: a ["graphics"] se le debe asignar la cadena "high", a ["sound"] se le debe asignar el número 75, a ["difficulty"] se le debe asignar la cadena "normal" y a ["debug"] se le debe asignar el booleano true.
Después de crear la tabla de configuración inicial, elimina la configuración debug asignándole nil mediante la notación de punto. Después, imprime la configuración de sonido restante para verificar que la tabla aún contiene los demás valores.
Pruébalo tú mismo
-- TODO: Escribe tu código aquí
-- Crea la tabla gameConfig con los pares clave-valor requeridos
-- Elimina la configuración debug usando notación de punto
-- Imprime la configuración soundEsta 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 Elementos3Operadores 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