Ruby 全局变量 $LOAD_PATH 如何理解

xautjzd · 2014年05月27日 · 最后由 allenwei 回复于 2014年05月27日 · 4133 次阅读

已经多次看到过全局变量$LOAD_PATH 了,只是大概知道作用是如果需要引用 library 时,会将其路径添加到 LOAD_PATH 中,这样在调用 library 中的类时,便能找到,否则会给出不识别类,找不到等错误提示。至于如何深层次理解,还是没搞明白,也尝试找了答案,但是没找到。只能发动求助技能了

$LOAD_PATH指的是 Ruby 读取外部文件的一个环境变量,其实和 windows 的环境变量是一个概念。Ruby 会在这个环境变量的路径中读取需要 require 的文件,如果在环境变量中找不到自己想要的文件,就会报 LoadError 错误。还有$LOAD_PATH 和$:指的都是同一个环境变量

__FILE__指的是当前 rb 文件所在目录的相对位置

我谷歌来的,不知道楼主所谓的 至于如何深层次理解,还是没搞明白,也尝试找了答案,但是没找到。是为了表达什么意思

$LOAD_PATH 是 require 文件时查找的路径,require 'a' 会从最后一个路径开始查找 a.rb

需要 登录 后方可回复, 如果你还没有账号请 注册新账号