-1

我有一个模块Database。在此模块中,eval("MyClass")返回Database::MyClass is inexistent. Database但我希望它在模块之外进行评估。谁知道这是怎么做的?

4

2 回答 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 回答