Ruby中实现把字符串转换为类的2种方法_ruby专题教程-查字典教程网
Ruby中实现把字符串转换为类的2种方法
Ruby中实现把字符串转换为类的2种方法
发布时间:2016-12-28 来源:查字典编辑
摘要:最近有个需求,需要根据一个字符串当作一个类来使用,例如:有一个字符串“ChinaMag”,根据这个字符串调用类ChinaMag下的方法。解决...

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

有一个字符串 “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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新ruby专题学习
    热门ruby专题学习
    脚本专栏子分类