您的位置:首页 > 编程语言 > Ruby

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

2015-11-11 15:16 756 查看
有一个字符串 “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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: