Ruby · Essencial · Inglês · Informal
falsy
Diz-se do valor tratado como falso em condições. Em Ruby só nil e false são falsy; todo o resto, inclusive 0, string vazia e array vazio, é verdadeiro.
Onde usar
Num if, 0 ou '' passam como verdadeiros, o que surpreende quem vem de JavaScript ou Python. Por isso se usa empty? ou zero? quando a intenção é testar vazio ou zero.
Em código
puts 'zero é true' if 0
puts 'vazio é true' if ''
puts 'nil é falso' unless nil
puts [].empty? # => trueExemplos
In Ruby, zero is truthy, so that if always runs.
Em Ruby, zero é verdadeiro, então esse if sempre roda.
Only nil and false are falsy here.
Aqui só nil e false são falsos.
Cuidado
Não presuma que 0 ou '' sejam falsos; essa regra de outras linguagens não vale em Ruby.
Antônimos
truthy