[Ruby] Creating class by name
Mikhail Yakshin
greycat на altlinux.ru
Вс Мар 28 15:23:52 MSD 2004
Приветствую!
Как создать класс по имени? То есть существует некая строка, допустим:
class Klass
... something ...
end
s = 'Klass'
Хочется вызвать конструктор класса Klass, передав ему еще какие-то
параметры. Пока я вижу только очень кривое решение в виде:
k = eval("#{s}.new(param1, param2, ...)")
которое мне усиленно не нравится. Есть более культурные методы? Возможно
даже через изменения интерпретатора, какие-то бинарные либы для
расширенного reflection/objectspace и т.п.
WBR, Mikhail Yakshin AKA GreyCat.
Подробная информация о списке рассылки Ruby