Ruby Language Valori di verità e Falsy


Esempio

In Ruby, ci sono esattamente due valori che sono considerati "falsi" e restituiscono false quando testati come condizione per un'espressione if . Loro sono:

  • nil
  • booleano false

Tutti gli altri valori sono considerati "veritieri", tra cui:

  • 0 - zero numerico (intero o altro)
  • "" - Stringhe vuote
  • "\n" - Stringhe contenenti solo spazi bianchi
  • [] - Array vuoti
  • {} - hash vuoti

Prendi, ad esempio, il seguente codice:

def check_truthy(var_name, var)
  is_truthy = var ? "truthy" : "falsy"
  puts "#{var_name} is #{is_truthy}"
end

check_truthy("false", false)
check_truthy("nil", nil)
check_truthy("0", 0)
check_truthy("empty string", "")
check_truthy("\\n", "\n")
check_truthy("empty array", [])
check_truthy("empty hash", {})

Produrrà:

false is falsy
nil is falsy
0 is truthy
empty string is truthy
\n is truthy
empty array is truthy
empty hash is truthy