2010-03-31 64 views

回答

27

你可以這樣做:

arrayObject = Object::const_get('Array').new 
+0

酷!非常感謝! – vooD 2010-03-31 20:27:37

15

您也可以使用下面的,如果你正在使用Ruby on Rails :

a = String 
a.new("Geo") 

會給你一個字符串。同樣的事情適用於其他類(參數編號&當然會有所不同)。

+0

看起來像來自RoR的解決方案。謝謝! – vooD 2010-03-31 20:30:01

+3

值得指出的是'constantize'是Rails的ActiveSupport模塊添加到Ruby的核心擴展,即它不是純粹的Ruby。 – 2010-03-31 20:30:18

+0

好點約翰,我已經更新了我的答案。 – 2010-03-31 20:40:11

4

$className = 'ArrayObject'; 
$arrayObject = new $className(); 
+1

儘管這並不直接回答這個問題,但由於類是對象,因此可以像存儲其他對象一樣存儲它們,這在很多情況下可能是更好的方法,因爲在這種情況下,您會試圖使用字符串用另一種語言。 – Chuck 2010-03-31 20:45:48

相關問題