Menu
Coddy logo textTech

Valores Truthy y Falsy

Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 24 de 90.

Al usar operadores lógicos como and, or y not, Lua necesita determinar qué cuenta como «verdadero» o «falso» en contextos lógicos. Este concepto se denomina valores truthy y falsy, y Lua lo maneja de manera diferente a muchos otros lenguajes de programación.

En Lua, solo dos valores se consideran falsy (tratados como false en operaciones lógicas):

print(false and "This won't print")  -- false es falsy
print(nil and "This won't print")    -- nil es falsy

Todo lo demás en Lua se considera truthy (tratado como true en operaciones lógicas). Esto incluye valores que podrían sorprenderte si vienes de otros lenguajes:

print(0 and "This will print")      -- ¡0 es truthy en Lua!
print("" and "This will print")     -- ¡El string vacío es truthy!
print({} and "This will print")     -- ¡La tabla vacía es truthy!

Hoja de referencia

En Lua, solo dos valores se consideran falsy (tratados como false en operaciones lógicas):

  • false
  • nil

Todo lo demás es truthy, incluyendo:

  • 0 (a diferencia de muchos otros lenguajes)
  • Cadenas vacías ""
  • Tablas vacías {}
print(false and "Won't print")  -- false es falsy
print(nil and "Won't print")    -- nil es falsy
print(0 and "Will print")       -- 0 es truthy en Lua
print("" and "Will print")      -- La cadena vacía es truthy

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

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 Fundamentals