Quiero hacer una pequeña aplicación donde los usuarios puedan crear una lista de tiendas e inventarios para las tiendas. Esto es lo que tengo para la clase de tienda:
class Store attr_accessor :name, :inventory def initialize(name) @name = name @inventory = [] @@all << self end end Se inicializa con una matriz vacía y quiero llenarla con elementos (como cadenas). Soy consciente de que puede usar, diga newStore = Store.new para crear una tienda y luego llamar a newStore , pero quiero que el usuario pueda crear tantas tiendas como quiera y cuando cree una segunda newStore lo hará anular esa variable. ¿Cómo vuelvo a acceder a esa instancia de clase anterior para editar la matriz de inventario?
Puede cambiarlo a lo siguiente y simplemente crear una nueva matriz cuando no se inicializó antes:
def initialize(name) @name = name @inventory = [] @@all ||= [] @@all << self end