2008-10-01 5 views

Répondre

43
Object::const_get('String').new() 
+10

Si vous souhaitez instancier une classe à l'intérieur d'un module que vous utilisez juste le module au lieu de 'Object'. 'MyCoolModule :: Submodule.const_get ('MyString'). New' – gaqzi

+1

Et si vous ne connaissez même pas le sous-module? – yas4891

24

Si vous utilisez ActiveSupport (c.-à-Rails), il existe une méthode ajouté à String qui fait cela:

"String".constantize.new 
Questions connexes