If an instance variable belongs to a class, can I access the instance variable (e.g. @hello
) directly using the class instance?
class Hello
def method1
@hello = "pavan"
end
end
h = Hello.new
puts h.method1
instance-variablesruby
If an instance variable belongs to a class, can I access the instance variable (e.g. @hello
) directly using the class instance?
class Hello
def method1
@hello = "pavan"
end
end
h = Hello.new
puts h.method1
Best Answer
Yes, you can use
instance_variable_get
like this:If the variable is undefined (first call of
instance_variable_get
in my example) you getnil
.As Andrew mention in his comment:
A better way is to define an accessor:
If you want another method name, you could alias the accessor:
alias :my_hello :hello
.And if the class is not defined in your code, but in a gem: You can modify classes in your code and insert new functions to classes.