Menu
Coddy logo textTech

Tipos de unión

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

A veces un tipo no es suficiente. Un id de usuario puede llegar como "user123" o como 42. En Lua puro solo esperarías que todo salga bien; Luau te ofrece tipos unión — la barra vertical | se lee como "o":

local userId: number | string

userId = "user123"  -- ✓ se permite un string
userId = 42          -- ✓ se permite un number
userId = true        -- ✗ error de tipo: boolean no está en la unión

La variable puede contener cualquiera de los miembros de la unión — y solo esos. Esa es la diferencia crucial con any: una unión se mantiene estricta sobre lo que está permitido mientras te da la flexibilidad que necesitas.

Las uniones son especialmente útiles para parámetros de función que aceptan múltiples formatos de entrada:

function printId(id: number | string): ()
    print(id)
end

printId(42)          -- funciona con un número
printId("user123")   -- funciona con una cadena

Ya conoces string? — ¡esa fue tu primera unión! Es simplemente un atajo para string | nil. En la siguiente lección aprenderás cómo trabajar de forma segura con un valor de tipo unión una vez que lo tengas.

challenge icon

Desafío

Fácil

Crea una función llamada printId que reciba id: number | string y lo imprima — tipo de retorno explícito ().

Declara una variable status de tipo string | number, inicializada en "<code>active".

Después, en orden:

  1. Llama a printId(42)
  2. Llama a printId("<code>user123")
  3. Imprime status
  4. Reasigna status a 200 y vuelve a imprimirlo

Cuatro líneas de salida en total.

Pruébalo tú mismo

-- Escribe código aquí
-- printId(id: number | string): ()
-- local status: string | number = el texto exacto de las instrucciones
-- llama a printId(42), printId(el texto exacto de las instrucciones),
-- imprime status, reasigna a 200, imprime de nuevo
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