我有一个模块Database
。在此模块中,eval("MyClass")
返回Database::MyClass is inexistent
. Database
但我希望它在模块之外进行评估。谁知道这是怎么做的?
问问题
52 次
2 回答
2
您应该尝试显式指定全局范围:
eval('::MyClass')
于 2013-02-09T19:31:36.990 回答
1
如果您尝试通过包含在字符串中的名称来访问类,则使用 Kernel.const_get 可能是更好的选择。有关更多信息,请参阅此堆栈溢出帖子:Get a class by name in Ruby?
于 2013-02-10T14:24:12.957 回答