如何在rhomobile中检查类变量@@ abc是否已初始化?

时间:2012-03-12 04:32:13

标签: class rhomobile

我需要在我的rhodes应用程序中检查是否已初始化类变量@@ abc然后执行其他操作。

我怎样才能完成这项工作?

1 个答案:

答案 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"
>>