空的ruby变量,但在运行时说它不是空的

时间:2016-10-24 19:20:05

标签: ruby

好的我试着在ruby中设置一个空变量

我的代码如下:

name = ""

if !name
    puts "name is empty"
else
    puts "name is not empty"
end

我做了典型的:ruby test.rb

它说:名称不为空。但 name =“” 是空的:/

我不知道我做错了什么:(

2 个答案:

答案 0 :(得分:3)

""在布尔上下文中为真

nilfalse是Ruby中唯一的假值。

你可以做到

if name.empty?
    puts "name is empty"
else
    puts "name is not empty"
end

if name == ""
    puts "name is empty"
else
    puts "name is not empty"
end

答案 1 :(得分:0)

name = ""


if name.empty?
    puts "name is empty"
else
    puts "name is not empty"
end

输出

name is empty

你试图否定永远是假的字符串。