我有一个我要调用的类的字符串表示形式。该课程已经存在。
klass = "Broseph"
Class.new(Broseph)
# => #<Class:0x007f9f0c1cc8b8>
Class.new("Broseph")
# => TypeError: superclass must be a Class (String given)
如何将字符串转换为类?如何在我表示为字符串的类上调用类方法?我还需要将参数传递给该类方法。
答案 0 :(得分:2)
您可以使用const_get
:
klazz = Object.const_get('Broseph')
然后在klazz
上调用方法,如:
klazz.some_method # when you know the method is fixed
klazz.send('some_method') # when the method also is stored in a string