我在这个对象中有以下常量和实例变量:
MyObj = Object.new
class << MyObj
MY_CONST = 'FindMe'
@my_var = 'OrMe'
# ...
end
有没有办法自动发现这些项目,无论是在内部还是 在对象之外?不幸的是,我目前正在使用Ruby 1.8.6和1.9.3,但我也可以访问2.1.3来测试任何解决方案。感谢。
答案 0 :(得分:2)
由于你已经在eigenclass上声明了所有内容,你应该为新定义的常量和var查找eigenclass:
▶ MyObj.singleton_class.constants
#⇒ [
# [0] :MY_CONST
# ]
▶ MyObj.singleton_class.instance_variables
#⇒ [
# [0] :@my_var
# ]
希望它有所帮助。