Ruby中實(shí)現(xiàn)把字符串轉(zhuǎn)換為類的2種方法
最近有個(gè)需求,需要根據(jù)一個(gè)字符串當(dāng)作一個(gè)類來(lái)使用,例如:
有一個(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的運(yùn)算符和語(yǔ)句優(yōu)先級(jí)介紹
這篇文章主要介紹了Ruby的運(yùn)算符和語(yǔ)句優(yōu)先級(jí)介紹,本文先是給出了一些小例子來(lái)驗(yàn)證運(yùn)算符和語(yǔ)句優(yōu)先級(jí),然后總結(jié)出一個(gè)優(yōu)先級(jí)表,需要的朋友可以參考下2015-03-03
Windows下Ruby+Watir自動(dòng)化測(cè)試的環(huán)境搭建及數(shù)據(jù)讀取
這篇文章主要介紹了Windows下Ruby+Watir自動(dòng)化測(cè)試的環(huán)境搭建及數(shù)據(jù)讀取,Watir是一個(gè)使用Ruby實(shí)現(xiàn)的開(kāi)源Web自動(dòng)化測(cè)試框架,需要的朋友可以參考下2016-03-03
實(shí)例解析Ruby程序中調(diào)用REXML來(lái)解析XML格式數(shù)據(jù)的用法
這篇文章主要介紹了Ruby程序中調(diào)用REXML來(lái)解析XML格式數(shù)據(jù)的用法,文中用實(shí)例分三個(gè)步驟講解了REXML解析XML的過(guò)程,需要的朋友可以參考下2016-04-04
詳細(xì)解讀Ruby當(dāng)中的條件判斷語(yǔ)句
這篇文章主要介紹了詳細(xì)解讀Ruby當(dāng)中的條件判斷語(yǔ)句,if、else等邏輯判斷語(yǔ)句是各門(mén)編程語(yǔ)言的基礎(chǔ),需要的朋友可以參考下2015-05-05
ruby on rails中Model的關(guān)聯(lián)詳解
本文給大家詳細(xì)講解了ruby on rails中model關(guān)聯(lián)的幾種形式,包括一對(duì)多,一對(duì)一,多對(duì)多。并給出了詳細(xì)的示例,有需要的小伙伴可以參考下2017-07-07
Ruby On Rails上手筆記(安裝使用全過(guò)程)
有機(jī)會(huì)再試一試Rails了,只是原來(lái)接觸的是2,現(xiàn)在已然變成了4,似乎現(xiàn)在的安裝比原來(lái)會(huì)快些。2014-05-05

