从Ruby中的字符串"A :: B :: C"获取类对象,可以使用Ruby的constantize
方法。constantize
方法可以将字符串转换为对应的类对象。
以下是一个示例代码:
class A
class B
class C
end
end
end
str = "A :: B :: C"
klass = str.constantize
puts klass.inspect
在这个示例中,我们首先定义了一个类A,其中包含了一个类B,类B中包含了一个类C。然后我们创建了一个字符串"A :: B :: C",并使用constantize
方法将其转换为类对象。最后,我们使用inspect
方法输出了类对象的信息。
需要注意的是,constantize
方法只能获取已经定义的类对象,如果类对象未定义,则会抛出NameError
异常。
在实际开发中,如果需要从字符串中获取类对象,建议使用constantize
方法。
领取专属 10元无门槛券
手把手带您无忧上云