Menu
Coddy logo textTech

Tablas de forma mixta

Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 18 de 73.

Los arrays contienen muchos valores de un mismo tipo; los mapas contienen un tipo de clave y un tipo de valor. Pero tus tablas de Lua más comunes mezclan tipos en campos con nombre: un jugador con un nombre de tipo string, una puntuación de tipo number y una bandera de tipo boolean. Luau tipa estos elementos mediante una forma: un tipo de tabla que enumera cada campo y su propio tipo.

type Point = {x: number, y: number}

local origin: Point = {x = 0, y = 0}
print(origin.x)

La palabra clave type crea un alias de tipo: un nombre reutilizable para la forma. Solo existe para el comprobador: no se crea ningún valor en tiempo de ejecución llamado Point. Cada campo puede tener un tipo diferente:

type Player = {name: string, score: number, active: boolean}

local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)

Con la forma declarada, el comprobador sabe que player.score es un número y señala los errores de forma temprana: un error tipográfico como player.scroe (no existe tal campo) o asignar player.score = "high" (tipo incorrecto). Esta es la primera introducción: un capítulo posterior profundiza mucho más en las formas, los campos opcionales y los métodos.

challenge icon

Desafío

Fácil

Define un alias de tipo Player para una estructura con tres campos: name: string, score: number y active: boolean.

Crea local player: Player con el nombre "Rio", la puntuación 1500 y active establecido en true.

Imprime, cada uno en su propia línea:

  1. el nombre del jugador
  2. la puntuación del jugador
  3. el indicador de actividad del jugador
  4. la línea exacta Rio has 1500 points construida mediante interpolación de cadenas a partir de los campos

Pruébalo tú mismo

-- Escribe código aquí
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) crea player: Player = {name = "Rio", score = 1500, active = true}
-- 3) imprime name, score, active, luego la línea de resumen interpolada
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Introducción a Luau

Practica por tu cuenta: Compilador de Lua online