Ruby中实现把字符串转换为类的2种方法
最近有个需求,需要根据一个字符串当作一个类来使用,例如:
有一个字符串“ChinaMag”,根据这个字符串调用类ChinaMag下的方法。
解决办法:
1.rails可以使用constantize方法。
pry(main)>'ChinaMag'.constantize =>ChinaMag pry(main)>"Test::Unit".constantize =>Test::Unit
2.ruby可以使用Object.const_get(“String”)。
pry(main)>Object::const_get('ChinaMag')
=>ChinaMag
pry(main)>moduleFoo
pry(main)* classBar
pry(main)* end
pry(main)*end
=>nil
pry(main)>'Foo::Bar'.split('::').inject(Object){|o,c|o.const_getc}
=>Foo::Bar
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短