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

发布时间:2022-04-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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)> 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中实现把字符串转换为类的2种方法全部内容,希望文章能够帮你解决Ruby中实现把字符串转换为类的2种方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: