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
# ]
希望对您有所帮助。
我在这个对象中有以下常量和实例变量:
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
# ]
希望对您有所帮助。