Ruby中实现把字符串转换为类的2种方法
更新时间:2014年10月11日 13:08:17 投稿:junjie
这篇文章主要介绍了Ruby中实现把字符串转换为类的2种方法,其中一种是rails提供的方法,需要的朋友可以参考下
最近有个需求,需要根据一个字符串当作一个类来使用,例如:
有一个字符串 “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中的instance_eval方法及其与class_eval的对比
Ruby的eval族方法将字符串作为代码来执行,instance_eval方法便是其中之一,下面就来详解Ruby中的instance_eval方法及其与class_eval的对比2016-05-05借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法
这篇文章主要介绍了借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法,介绍了基本的UI和事件响应的相关实现,需要的朋友可以参考下2015-12-12win10下使用virtualbox + vagrant配置ruby开发机环境
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。搭配Cmder如丝般顺滑,实现你所有关于Mac&Linux的幻想2017-08-08
最新评论