0

I need a condition in my rhodes app to check if a class variable @@abc is initialized then do something else something.

How can i get this done?

Priya Saini
  • 109
  • 13

1 Answers1

1

Try using defined?

if defined?(your variable)
  do something
else
  do something else
end

If the variable is defined, you'll receive back a string with the kind of the variable, otherwise defined? will return nil. beware that defined?(nil) will return the string "nil", not the value nil.

There's also a very ruby idiomatic way to do something akin to "if not defined do this", which is

x ||= something

Quick examples:

$ 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"
>>
railsdog
  • 1,503
  • 10
  • 10