Ruby真实和虚假的价值观
示例
在Ruby中,恰好有两个值被视为“虚假”,并且在作为if表达式的条件进行测试时将返回false。他们是:
nil
布尔值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