I have an instance of a class with data and would like to extend it with some instance variables. Here is what I know:
class A attr_accessor :id attr_accessor :description def initialize(id, description = nil) @id = id @description = description end def methode1 puts "Method 1" end end a = A.new(1, 'This is a descriptipn')
I got the instances
a from another code, so that i don’t have access to the initialization. I can only continue from here:
a.instance_variable_set(:@my_var_1, '') a.instance_variable_set(:@my_var_2, )
This works fine. But if I want to get the value , i have to use the following code:
Unfortunately, the following code does not work.
This makes me wonder why I can’t access the instance variable in this way, since it is now part of my instance.
Another question: How can I add an element to
a.my_var_2 << 'a' # => undefined method `my_var_2' for #<A:0x000001a2ad128b48 @id=1, @description="This is a descriptipn", @my_var_1="Text", @my_var_2=>Text (NoMethodError)