ExpertiDict

Ruby · Essencial · Inglês · Informal

falsy

/ˈfɔlsi/adjetivo

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?  # => true

Exemplos

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

Veja também

Todos os termos de Ruby