Ruby——关于require与require_relative

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($:)无关,是文件本身路径的相对地址。




posted @ 2017-08-17 13:23  jzdwajue  阅读(517)  评论(0编辑  收藏  举报