Я хочу использовать хэш для создания объектов определенного типа, однако вскоре возникают проблемы, потому что хеш будет только создавать экземпляр одного экземпляра, а затем навсегда «указывать» на этот экземпляр.Использование хэша в качестве фабрики в Ruby
class Person
end
factory = { "make_person" => Person.new }
a = factory["make_person"]
b = factory["make_person"]
a == b
=> true
Даже если хэш указывает на метод, скажем, например, make_person
, который вызывает внутри него Person.new
, он все равно будет всегда указывать на один экземпляр.
У кого-нибудь есть обходное решение для этого? Большое спасибо.
Использование лямбда работает как шарм. Благодаря! – efreezy