Menu
Coddy logo textTech

Valores Truthy e Falsy

Parte da seção Fundamentals do Journey de Lua da Coddy — lição 24 de 90.

Ao usar operadores lógicos como and, or e not, o Lua precisa determinar o que conta como "verdadeiro" ou "falso" em contextos lógicos. Esse conceito é chamado de valores truthy e falsy, e o Lua lida com isso de forma diferente de muitas outras linguagens de programação.

Em Lua, apenas dois valores são considerados falsy (tratados como false em operações lógicas):

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

Todo o resto em Lua é considerado truthy (tratado como true em operações lógicas). Isso inclui valores que podem surpreender você se estiver vindo de outras linguagens:

print(0 and "This will print")      -- 0 é truthy em Lua!
print("" and "This will print")     -- String vazia é truthy!
print({} and "This will print")     -- Tabela vazia é truthy!

Folha de consulta

Em Lua, apenas dois valores são considerados falsy (tratados como false em operações lógicas):

  • false
  • nil

Todo o resto é truthy, incluindo:

  • 0 (ao contrário de muitas outras linguagens)
  • Strings vazias ""
  • Tabelas vazias {}
print(false and "Won't print")  -- false é falsy
print(nil and "Won't print")    -- nil é falsy
print(0 and "Will print")       -- 0 é truthy em Lua
print("" and "Will print")      -- String vazia é truthy

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentals