Ruby:发现对象中的常量和变量



我在这个对象中有以下常量和实例变量:

MyObj = Object.new
class << MyObj
  MY_CONST      = 'FindMe'
  @my_var       = 'OrMe'
  # ...
end

有什么方法可以自动发现这些物品吗在物体外部?不幸的是,我目前使用的是Ruby 1.8.6和1.9.3,但我也可以访问2.1.3来测试任何解决方案。谢谢

由于您已经在本征类上声明了所有内容,因此您应该查找新定义的常数和var:的本征类

▶ MyObj.singleton_class.constants
#⇒ [
#  [0] :MY_CONST
# ]
▶ MyObj.singleton_class.instance_variables
#⇒ [
#  [0] :@my_var
# ]

希望能有所帮助。

最新更新