I want to have an array as a instance variable using attr_accessor.
But isn’t attr_accessor only for strings?
How do I use it on an array?
UPDATE:
Eg. If you want:
object.array = "cat"
object.array = "dog"
pp object.array
=> ["cat", "dog"]
Then you have to create those methods yourself?
Re your update:
Although you can implement a class which acts as you describe, it is quite unusual, and will probably confuse anyone using the class.
Normally accessors have setters and getters. When you set something using the setter, you get the same thing back from the getter. In the example below, you get something totally different back from the getter. Instead of using a setter, you should probably use an
addmethod.The add method would look like this: