Truthy 和 Falsy 的值

在 Ruby 中,有兩個值被認為是假的,並且在作為 if 表示式的條件進行測試時將返回 false。他們是:

  • nil
  • boolean false

所有其他值都被視為真實,包括:

  • 0 - 數字零(整數或其他)
  • "" - 空字串
  • \n - 僅包含空格的字串
  • [] - 空陣列
  • {} - 空雜湊

例如,以下程式碼:

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", {})

將輸出:

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