Ruby中實(shí)現(xiàn)把字符串轉(zhuǎn)換為類的2種方法
最近有個(gè)需求,需要根據(jù)一個(gè)字符串當(dāng)作一個(gè)類來使用,例如:
有一個(gè)字符串 “ChinaMag”,根據(jù)這個(gè)字符串調(diào)用 類 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
相關(guān)文章
Ruby中訪問SQL Server數(shù)據(jù)庫的配置實(shí)例
這篇文章主要介紹了Ruby中訪問SQL Server數(shù)據(jù)庫的配置實(shí)例,本文通過FreeTDS實(shí)現(xiàn),同時(shí)介紹了在ActiveRecord上使用Tiny_TDS的技巧,需要的朋友可以參考下2014-11-11Ruby 中關(guān)于日文轉(zhuǎn)UTF-8及半角全角轉(zhuǎn)換的技巧
Ruby 中關(guān)于日文轉(zhuǎn)UTF-8及半角全角轉(zhuǎn)換的技巧,實(shí)現(xiàn)代碼。2009-05-05ruby 學(xué)習(xí)筆記(1) 初識(shí)語法
雖然ruby/ruby on rails從2007年就一直獲獎(jiǎng)無數(shù),但身為一個(gè)中國(guó)人,一直對(duì)小日本創(chuàng)造的東西不怎么感興趣,想想其實(shí)也沒必要,技術(shù)本身是無國(guó)界的,日本其實(shí)也有值得學(xué)習(xí)的地方(扯遠(yuǎn)了,呵)2010-02-02Ruby元編程之夢(mèng)中情人method_missing方法詳解
這篇文章主要介紹了Ruby元編程之夢(mèng)中情人method_missing方法詳解,本文講解了我該怎么用 method_missing 、方法代理、define_method、什么時(shí)候用 method_missing、元方法等內(nèi)容,需要的朋友可以參考下2015-05-05mac及l(fā)inux下搭建ruby+rails環(huán)境
本文給大家分享了如何在mac以及Linux系統(tǒng)中安裝ruby+rails環(huán)境,非常詳細(xì),而且有圖有真相,希望大家能夠喜歡2017-11-11