【发布时间】:2014-12-03 08:21:15
【问题描述】:
我正在实现 gem,我想向 String 类添加一些自定义方法。所以,我在'lib'目录下创建了子目录'core_ext',并把文件'string.rb'放在那里。
string.rb 包含:
class String
def custom_method
some_action
end
end
在我制作的主文件中:
require 'core_ext/string.rb'
但对String类没有任何影响,
如果我将文件名更改为其他名称,例如“my_string.rb”并使用 require 更改行,一切都会正常工作。为什么我不能使用 'string.rb' 作为文件名?
【问题讨论】:
-
您不需要
string.rb才能使您的代码正常工作。要求告诉 Ruby 加载该类,并且 String 类已经加载。您的代码似乎应该可以工作。我刚刚对其进行了测试,并且效果很好。您能否更具体地了解“不工作”的含义? -
ruby require not working 的可能重复项(尝试
require_relative)