как проверить, что переменная класса @@ abc инициализирована или нет в rhomobile? - PullRequest
0 голосов
/ 12 марта 2012

Мне нужно условие в моем приложении rhodes, чтобы проверить, инициализирована ли переменная класса @@ abc, а затем сделать что-то еще.

Как мне это сделать?

1 Ответ

1 голос
/ 20 апреля 2012

Попробуйте использовать определено?

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"
>>
...