新手问题 rails 源代码

pacingwang · 2013年03月23日 · 最后由 chenge 回复于 2013年03月24日 · 2696 次阅读

require File.expand_path('../../../load_paths', FILE)

$:.unshift(File.dirname(FILE) + '/lib') $:.unshift(File.dirname(FILE) + '/fixtures/helpers') $:.unshift(File.dirname(FILE) + '/fixtures/alternate_helpers') $:是什么东西?

require 的目录列表,require 时会按照这个顺序查询文件

@jjym ,$: 在哪里被定义的?

#2 楼 @pacingwang 这个不知道....ruby 启动时就会定义,你得去看 ruby 源码了..

@jjym 哦哦,谢谢啦,哈哈!

$: 是 Ruby 内建的执行环境变量,它返回一个数组,包含了 includerequire 方法会去寻找的脚本和二进制文件的路径。

可以用 $: << DIR 来扩充该数组。

它有个别名:$LOAD_PATH

Predefined Global Variables: http://ruby.runpaint.org/globals.html

(附:我记得好像有办法用自省的方式得到这个列表的,可惜忘了具体做法)

@nightire 回答很耐心,谢谢啊。 @fsword 资源很赞,哈哈

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