-1
我有一個模塊Database
。在此模塊中,eval("MyClass")
返回Database::MyClass is inexistent
。但我希望在Database
模塊之外對它進行評估。誰知道這是怎麼做的?在模塊中評估,但該類不是模塊的一部分
我有一個模塊Database
。在此模塊中,eval("MyClass")
返回Database::MyClass is inexistent
。但我希望在Database
模塊之外對它進行評估。誰知道這是怎麼做的?在模塊中評估,但該類不是模塊的一部分
你應該嘗試指定全局範圍明確,那麼:
eval('::MyClass')
如果您嘗試訪問字符串中包含其名稱的類,它可能是一個更好的選擇使用Kernel.const_get。看到這個堆棧溢出帖子瞭解更多信息:Get a class by name in Ruby?
你試過eval(「:: MyClass」)嗎?你爲什麼要用'eval'呢?顯示一些代碼。 – 2013-02-09 19:10:01
'eval(「:: MyClass」)'是解決方案,謝謝!如果你把它作爲一個整體評論,我可以接受它作爲正確的答案。 – JAkk 2013-02-09 19:29:28