我正在实现gem,我想向String类添加一些自定义方法。所以,我在'lib'目录下创建了子目录'core_ext',并在那里放置了'string.rb'文件。为什么我不能在Ruby中需要'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类已经加载。你的代码似乎应该工作。我只是测试它,它工作正常。你能更具体地说明“不工作”是什么意思吗? – Max 2014-10-08 15:44:33
可能重复的[红宝石需要不工作](http://stackoverflow.com/questions/11600170/ruby-require-not-working)(尝试'require_relative') – 2014-10-08 15:48:54