Variables

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Una variable es un nombre que contiene un valor. Los valores de las variables pueden ser números, cadenas, booleanos, tipos de datos, y más.

Nombres de variables

Los nombres de las variables pueden ser cualquier cadena de letras, dígitos y guiones bajos que no comience con un dígito y que no sea una palabra reservada.

LETTERS -- válido
a1 -- válido
var_name -- válido
_test -- válido
if -- NO válido
25th -- NO válido

Los nombres de las variables son sensibles a mayúsculas y minúsculas, por lo que TestVar y TESTVAR son nombres diferentes. Evita nombrar variables con un guion bajo y todas las letras en mayúsculas, como _VERSION, porque Luau puede reservarlas para variables globales internas.

Mejores prácticas

Es una buena práctica escribir las palabras completamente. Las abreviaturas generalmente hacen que el código sea más fácil de escribir, pero más difícil de leer. Seguir prácticas comunes de nomenclatura al nombrar tus variables puede ayudar a ti y a otros a entender su significado o propósito:

  • Usa nombres en PascalCase para objetos de clase y similares a enumeraciones.
  • Usa nombres en PascalCase para todas las APIs de Roblox. Las APIs en camelCase están mayormente en desuso.
  • Usa nombres en camelCase para variables locales, valores de miembros y funciones.
  • Usa nombres en LOUD_SNAKE_CASE para constantes, como los valores de const u otros valores que no esperas que cambien.
  • No capitalices acrónimos completos dentro de los nombres. Por ejemplo, escribe aJsonVariable o MakeHttpCall.

Nombres reservados

Luau reserva las siguientes palabras clave, por lo que no puedes usarlas para nombrar variables o funciones:

  • and
  • for
  • or
  • break
  • function
  • repeat
  • do
  • if
  • return
  • else
  • in
  • then
  • elseif
  • local
  • true
  • end
  • nil
  • until
  • false
  • not
  • while

Asignar valores

Para crear una variable y asignarle un valor, usa el operador =. Coloca la variable a la izquierda del = y el valor a la derecha. Si no pones un valor, el valor es nil.

Las variables pueden tener alcances globales o locales. Tienen alcance global por defecto, pero casi siempre es mejor crearlas con alcance local porque Luau accede a las variables locales más rápido que a las globales. Para dar a una variable un alcance local, coloca la palabra clave local antes del nombre de la variable cuando le asignes un valor. Para darle un alcance local y también evitar reasignarla, usa const en lugar de local. Para más información, consulta Alcance.

local nilVar
local x = 10
local word = "Hola"
local boolean = true
print(nilVar) -- nil
print(x) -- 10
print(word) -- Hola
print(boolean) -- true

Asignar valores a múltiples variables

Puedes asignar valores a múltiples variables en una línea separando cada par variable-valor con una coma. Si tienes más variables que valores, entonces Luau asigna nil a las variables adicionales. Si tienes más valores que variables, Luau no asigna los valores adicionales a ninguna variable.

local a, b, c = 1, 2, 3
local d, e, f = 4, 5 -- variable extra
local g, h = 7, 8, 9 -- valor extra
print(a, b, c) -- 1, 2, 3
print(d, e, f) -- 4, 5, nil
print(g, h) -- 7, 8

Cambiar valores

Para cambiar el valor de una variable, asigna otro valor a ella.

local x, y = 10, 20
print(x) -- 10
print(y) -- 20
x = 1000
y = 2000
print(x) -- 1000
print(y) -- 2000

Variables const

Para crear una variable que no puedes reasignar, usa const en lugar de local. Intentar reasignar una variable const causa un error, incluso a través de un operador de asignación compuesta como +=.

const MAX_HEALTH = 100
MAX_HEALTH = 50 -- error: no se puede reasignar una variable const
MAX_HEALTH += 1 -- error: no se puede reasignar una variable const

Al igual que local, const acepta una anotación de tipo, como const MAX_HEALTH: number = 100.

También puedes declarar una función con const, lo que evita la reasignación del nombre de la función.

const function addOneAndTwo()
local result = 1 + 2
print(result)
end
addOneAndTwo = nil -- error: no se puede reasignar una variable const

const hace que la variable en sí sea inmutable, no el valor que contiene. Si una variable const contiene una tabla, aún puedes cambiar el contenido de la tabla. Para hacer que el contenido también sea inmutable, usa table.freeze().

const SETTINGS = { volume = 0 }
SETTINGS.volume = 1 -- ok, cambia un valor dentro de la tabla
SETTINGS = {} -- error: no se puede reasignar una variable const

A diferencia de las palabras clave en Nombres reservados, const es contextual. Luau solo lo trata como una palabra clave donde local es válido, por lo que el código existente que usa const como nombre de variable sigue funcionando.

local const = 1
print(const) -- 1
const = 2 -- ok, `const` es un nombre de variable aquí

Para más información y casos extremos, consulta la documentación de Luau.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.