Menu
CoddyTech

Valores Truthy y Falsy

Parte de la sección Fundamentos 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 llama valores verídicos y falsos, y Lua lo maneja de forma diferente a muchos otros lenguajes de programación.

En Lua, solo dos valores se consideran falsos (se tratan como false en las operaciones lógicas):

print(false and "This won't print")  -- false es un valor falso
print(nil and "This won't print")    -- nil es un valor falso

Ten en cuenta que and y or devuelven uno de sus operandos, no solo true o false: a and b devuelve a cuando a es falso; de lo contrario, devuelve b; a or b devuelve a cuando a es verdadero; de lo contrario, devuelve b. Así que las dos líneas anteriores imprimen false y nil, y cada línea de abajo imprime su texto.

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

print(0 and "This will print")      -- ¡0 se considera verdadero en Lua!
print("" and "This will print")     -- ¡Una cadena vacía se considera verdadera!
print({} and "This will print")     -- ¡Una tabla vacía se considera verdadera!

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 Fundamentos

Practica por tu cuenta: Compilador de Lua online