我需要在我的rhodes应用程序中检查是否已初始化类变量@@ abc然后执行其他操作。
我怎样才能完成这项工作?
答案 0 :(得分:1)
尝试使用已定义的?
if defined?(your variable)
do something
else
do something else
end
如果定义了变量,你会收到一个带有变量种类的字符串,否则定义?将返回零。要注意定义?(nil)将返回字符串" nil",而不是值nil。
还有一种非常红润的惯用方法可以做类似于"如果没有定义,请执行此操作",这是
x ||= something
快速举例:
$ irb
>> x = 1
=> 1
>> x
=> 1
>> defined? x
=> "local-variable"
>> defined? y
=> nil
>> y ||= 42
=> 42
>> defined? y
=> "local-variable"
>> z = 3
=> 3
>> z ||= 43
=> 3
>> defined? nil
=> "nil"
>>