Ruby——关于require与require_relative

2014-11-23 19:30:56 · 作者: · 浏览: 27

require跟require_relative都是Kernel的方法。


但是两者用起来还是有区别的。


requrie filename


1)如果filename是一个相对路径,则会在$LAOD_PATH($:)中去寻找


$LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include (File.dirname(__FILE__))


#其中File.dirname(__FILE__)代表当前路径,而$LOAD_PATH.unshift方法的目的就是将当前目录作用ruby标准的加载路径。


2)如果filename是一个绝对路径,则寻找绝对路径


require_relative filename


1)直接取相对路径。此时与$LOAD_PATH($:)无关,是文件本身路径的相对地址。


Ruby on rails初体验系列文章: