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

Ruby: Discovering constants and variables in objects

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

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

有没有办法自动发现这些项目,无论是在内部还是 物体外?不幸的是,我目前正在使用 Ruby 1.8.6 和 1.9.3,但我也可以访问 2.1.3 来测试任何解决方案。谢谢

既然你已经在特征类上声明了所有东西,你应该查找新定义的常量和变量的特征类:

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

希望对您有所帮助。