2013-02-09 62 views
-1

我有一個模塊Database。在此模塊中,eval("MyClass")返回Database::MyClass is inexistent。但我希望在Database模塊之外對它進行評估。誰知道這是怎麼做的?在模塊中評估,但該類不是模塊的一部分

+2

你試過eval(「:: MyClass」)嗎?你爲什麼要用'eval'呢?顯示一些代碼。 – 2013-02-09 19:10:01

+0

'eval(「:: MyClass」)'是解決方案,謝謝!如果你把它作爲一個整體評論,我可以接受它作爲正確的答案。 – JAkk 2013-02-09 19:29:28

回答

2

你應該嘗試指定全局範圍明確,那麼:

eval('::MyClass') 
1

如果您嘗試訪問字符串中包含其名稱的類,它可能是一個更好的選擇使用Kernel.const_get。看到這個堆棧溢出帖子瞭解更多信息:Get a class by name in Ruby?

相關問題