如何实现类反射?
悬赏:5 发布时间:2008-06-25 提问人:zhangpeihao (初级程序员)
程序中有一个字符串变量存储了类的名称,例如:Class1, Class2, Class3等。
类Class1, Class2, Class3里面都有一个常量:MyConst。
用case ... when来处理比较麻烦,也不适合扩展。
我觉得Ruby既然是解释性语言,肯定可以直接通过名称来指定类。
谢谢。
类Class1, Class2, Class3里面都有一个常量:MyConst。
用case ... when来处理比较麻烦,也不适合扩展。
我觉得Ruby既然是解释性语言,肯定可以直接通过名称来指定类。
谢谢。
采纳的答案
2008-06-25 xxj (初级程序员)
这个,最简单的方法就是用最邪恶的eval
ex:
ex:
1.upto(3) do |i|
eval <<__CLAZZ__
class Class#{i}
MyConst = #{i}
end
__CLAZZ__
end
puts Class1::MyConst
puts Class2::MyConst
提问者对于答案的评价:
谢谢
其他回答
const_get
liusong1111 (初级程序员) 2008-06-29
已解决问题数: 961
待解决问题数: 421
已关闭问题数: 1641
待解决问题数: 421
已关闭问题数: 1641




