我有三个常数:
MUTUAL_CATEGORIES
PROVIDER_CATEGORIES
RECEIVER_CATEGORIES
以及引用类别的方法
def do_some_stuff_with_mutual
MUTUAL_CATEGORIES ...
end
我想抽象这个方法,所以我可以做类似的事情:
do_some_stuff_with(MUTUAL)
def do_some_stuff_with(type)
(type + "_CATEGORIES") ...
end
如何将字符串转换为引用常量?
答案 0 :(得分:2)
Object.const_get(type + "_CATEGORIES")...
将Object
替换为定义常量的类
答案 1 :(得分:1)
这可能不是一个好主意,但你也可以使用eval:
do_some_stuff_with(MUTUAL)
def do_some_stuff_with(type)
eval(type + "_CATEGORIES").each_with_index do |item, index|
#stuff for this type
end
end