Menu
Coddy logo textTech

Anotaciones de forma en línea

Parte de la sección Introducción a Luau del Journey de Lua de Coddy — lección 37 de 73.

En Lua has estado usando tablas como registros durante mucho tiempo: local user = {name = "Ana", age = 20}. Nada te impide escribir mal el nombre de un campo, olvidar uno o almacenar un string donde corresponde un number; solo te enteras cuando el código se ejecuta.

Luau te permite describir la forma (shape) de dicha tabla directamente en la declaración, enumerando cada campo y su tipo entre llaves:

local user: {name: string, age: number} = {
    name = "Ana",
    age = 20,
}

Compara esto con los tipos de tabla que ya conoces: {number} describe un array y {[string]: number} describe un mapa con cualquier clave string. Un shape es más preciso: nombra cada campo individualmente y le da a cada campo su propio tipo.

Una vez que se declara el shape, el comprobador de tipos verifica la tabla con respecto a él mientras editas. Un campo faltante o un tipo de valor incorrecto se marca antes de que el código se ejecute:

local user: {name: string, age: number} = {
    name = "Ana",
    age = "twenty", -- ✗ error de tipo: string no es un number
}

Como siempre, la anotación no añade ningún comportamiento en tiempo de ejecución; la tabla es una tabla de Lua normal. Los shapes en línea (inline) son perfectos para estructuras únicas que no planeas reutilizar; en la siguiente lección le darás un nombre a los shapes.

challenge icon

Desafío

Fácil

Crea una variable llamada student con una anotación de forma inline que declare:

  • name de tipo string
  • studentId de tipo number
  • isEnrolled de tipo boolean

Inicialízala con el name "Sarah Johnson", studentId 12345 e isEnrolled true.

Crea una segunda variable llamada course con una anotación de forma inline que declare:

  • title de tipo string
  • credits de tipo number
  • instructor de tipo string

Inicialízala con el title "Introduction to Luau", credits 3 e instructor "Dr. Smith".

Imprime, cada uno en su propia línea:

  1. el nombre del estudiante
  2. el ID del estudiante
  3. el título del curso
  4. el número de créditos

Pruébalo tú mismo

-- Escribe código aquí
-- 1) declara student con una anotación de forma en línea
-- 2) declara course con una anotación de forma en línea
-- 3) imprime los cuatro campos solicitados
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