当前位置: 移动技术网 > IT编程>脚本编程>Ruby > Ruby中实现把字符串转换为类的2种方法

Ruby中实现把字符串转换为类的2种方法

2017年12月08日  | 移动技术网IT编程  | 我要评论

最近有个需求,需要根据一个字符串当作一个类来使用,例如:

有一个字符串 “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)> module foo
pry(main)*   class bar 
pry(main)*   end   
pry(main)* end 
=> nil
pry(main)> 'foo::bar'.split('::').inject(object) {|o,c| o.const_get c}
=> foo::bar

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网