新手问题 如何把一个字符串转化为某个类的名字

yangman_wenzhu · 2014年04月03日 · 最后由 yangman_wenzhu 回复于 2014年04月03日 · 1876 次阅读

比如:A 类已经存在

class A1 < A
end

class A2 < A
end

class A3 < A
end

A::A1....
A::A2....
A::A3......
这样写代码重复了,需要改为A::A"#{1}"这种方式。

请各位给一种比较好的解决方案呢!

试试 eval

试试这个:Object.const_get("A#{1}")

with rails:

"A::A#{1}".constantize

without rails:

Module.const_get "A::A#{1}"

3,4 楼正解。

#1 楼 @zackteng #2 楼 @lionzixuanyuan #3 楼 @shooter #4 楼 @saiga 多谢各位热心帮助,问题解决了,使用

"A::A#{1}".constantize

方式解决的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册