require加载用户自定义的rb文件时,总提示无法找到被加载文件,原因是require会默认加载lib包下的文件;而用户自定义文件所在路径未在加载路径下$LOAD_PATH。加载用户自定义文件方法如下:
【案例描述】
目录d:/test下有test.rb和beRequired.rb两个用户自定义文件。分别加载test下单个rb文件、所有rb文件。
【解决方法】
场景一:test.rb中需要require加载beRequired.rb文件
_FILE_ = "D:/test"
#方法一
require File.join(_FILE_,'../beRquired.rb')
#方法二require File.dirname(_FILE_) + '/beRquired'
#方法三
$LOAD_PATH.unshift(File.dirname(_FILE_))
require 'beRquired'
场景二:test.rb中需要require加载test目录下所有*.rb文件
#方法一
Dir[File.dirname(_FILE_) + '*.rb'].each {|file| require file}
#方法二
require 'require_all'
require_all _FILE_ +'/*.rb'方法二需要安装require_all的gem包,资源下载:https://rubygems.org/gems/require_all 使用说明:http://rubydoc.info/gems/require_all/1.2.1/frames