一、引用单个文件:
test目录下有两个文件file1.rb,file2.rb
在file1.rb中: require 'file2'会报错,可以使用以下方法引用file2:
1、require File.dirname(__FILE__)+'/file2'
# File.dirname(__FILE__)返回当前文件的所在目录;
# __FILE__为常量,表示当前文件的相对路径,如/test/file1.rb
2、require File.join(File.dirname(__FILE__),'file2')
# 和第1种差不多
3、require File.expand_path('../file2',__FILE__)
#这种方法在/test/file1.rb路径后面拼接上'../file2',即首先找到file1路径,然后向上一级,然后找到下级的file2
4、$LOAD_PATH.unshift(File.dirname(__FILE__))
require 'file2.rb'
#把file1所在的目录加入load path
5、直接require './file2.rb'
二、引用一个目录下所有文件
1、Dir[File.dirname(__FILE__)+'/*.rb'].each{|file|require file}
2、使用require_all 的gem包