Ruby mixin给出了未知的常量错误
在irb中,我这样做Ruby mixin给出了未知的常量错误,ruby,Ruby,在irb中,我这样做 class Text include FileUtils end 我得到:name错误:未初始化常量测试::FileUtils 如果我只是这样做的话:包括FileUtils(即现在的类),一切都正常 有什么好处?你试过了吗 class Text include ::FileUtils end 这假设FileUtils不在模块内。您需要确保Ruby了解FileUtils模块。默认情况下不加载该模块: >> FileUtils NameError: un
class Text
include FileUtils
end
我得到:name错误:未初始化常量测试::FileUtils
如果我只是这样做的话:包括FileUtils(即现在的类),一切都正常
有什么好处?你试过了吗
class Text
include ::FileUtils
end
这假设FileUtils不在模块内。您需要确保Ruby了解FileUtils模块。默认情况下不加载该模块:
>> FileUtils
NameError: uninitialized constant FileUtils
from (irb):1
>> require 'fileutils'
=> true
>> FileUtils
=> FileUtils
不要太担心这个错误
NameError:uninitialized constant Text::FileUtils
——当您尝试包含Ruby不知道的常量时,它会出现在一些地方。在您的情况下,首先它将查找Text::FileUtils
,然后在根命名空间中查找::FileUtils
。如果它在任何地方都找不到它(在您的情况下它找不到),那么错误消息将告诉您它查找的第一个位置。这是一个旧线程,但如果该线程上有任何碰撞,仍然可以找到答案。只需在代码顶部(或类/方法/模块之外的任何地方)添加以下行
包括在类中不起作用,可能在旧版本中使用。不起作用。。。irb(main):004:0>类测试irb(main):005:1>include::FileUtils irb(main):006:1>结束名称错误:未初始化常量FileUtils from(irb):5
require 'fileutils'