赋值语句如下所示:
my_var = false
打破下一行,调试器显示'my_var',Type = NilClass,value = nil!这怎么可能?
答案 0 :(得分:3)
您是否在没有任何调试器的情况下直接检查了my_var
?调试器可能会混淆或只显示令人困惑的结果。
答案 1 :(得分:2)
您的代码段的目标对象可能已定义了“setter方法”,因此看起来您正在分配给“my_var”但实际上正在调用“my_var=
”方法。看看你的代码是否有这样的定义:
def my_var=(x)
# ...
end
如果是这样,您需要更改本地“my_var”变量或setter方法的名称。您也可以通过单击调用“my_var = false
”的行进行验证。
答案 2 :(得分:1)
我发现这非常有用True, False and Nil。