新手问题 rails 源代码

pacingwang · March 23, 2013 · Last by chenge replied at March 24, 2013 · 2713 hits

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 资源很赞,哈哈

#6 楼 @fsword global_variables

You need to Sign in before reply, if you don't have an account, please Sign up first.