Я пытаюсь динамически создавать набор классов следующим образом. Ruby: Динамически создавать новые классы
class Foo
attr_reader :description
end
['Alpha', 'Beta', 'Gamma'].each do |i|
klass = Class.new(Foo) do |i|
def initialize
@description = i
end
end
Object.const_set(i, klass)
end
вместо создания каждого класса вручную, е. g .:
class Alpha < Foo
def initialize
@description = 'Alpha'
end
end
Каков правильный способ выполнения такой операции и как передать итератор вложенный блок?
'@description = self.class.name' работает с родительским классом или без него. Это аккуратное решение! – mwp