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 é falsyTodo 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):
falsenil
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 é truthyExperimente você mesmo
Esta lição não inclui um desafio de código.
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
4Operadores 2 Relacionais e Lógicos
Operadores de IgualdadeOperadores RelacionaisO Operador 'and'O Operador 'or'O Operador 'not'Avaliação de Curto-CircuitoValores Truthy e FalsyRecapitulação - Lógica Simples7Lógica Condicional Básica
A instrução if-thenA instrução if-then-elseA instrução elseifRecapitulação - Baú do Tesouro2Variáveis e Tipos de Dados
O que é uma Variável?NúmerosStringsBooleanosO Valor 'nil'A Função type()Convenções de NomenclaturaRecapitulação - Perfil de Personagem5Saída Básica
Imprimindo LiteraisImprimindo VariáveisImprimindo Múltiplos ValoresCombinando Strings e VariáveisA Função tostring()EntradaCastRecapitulação - Relatório de StatusRecapitulação - Até 1208Fundamentos de Manipulação de Strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Revisão - Formatar Nome de Usuário3Operadores 1: Aritmética e Concatenação
Operadores AritméticosOperador de MóduloOperador de ExponenciaçãoConcatenação de StringsPrecedência de OperadoresRecapitulação - Cálculos Simples6Projeto: Exibição de Atributos do Personagem
Mensagem de Boas-vindasDeclarar Atributos do Personagem9Fundamentos de Funções
Declarando uma FunçãoChamando uma FunçãoFunções com ParâmetrosFunções com Múltiplos ParâmetrosA Instrução 'return'Recapitulação - Calculadora de Área