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

yangman_wenzhu · April 03, 2014 · Last by yangman_wenzhu replied at April 03, 2014 · 2296 hits

比如: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

方式解决的

You need to Sign in before reply, if you don't have an account, please Sign up first.