2011-03-10 51 views

回答

5
由于

您的代码进行比较,以codecode.empty?,即,code == code.empty?的结果,这是错误的。字符串可以降级为布尔值,但'' == true的显式相等将评估为false

+0

啊,当然..谢谢 – noli 2011-03-10 07:49:51

3

表达式code.empty?是调用方法empty?的方法调用,返回值true。然后使用表达式true === codetrue值与code变量进行比较,该表达式为false,因此它将执行else代码块。

这可能是你想要什么,而不是:

case code 
when "" 
    "Code is empty" 
else 
    code 
end 

更简单的方法来做到这一点是通过使用三元运算符:

code.empty? ? "Code is empty" : code 
相关问题