$!
表示最近一次的错误
$@
表示出现错误的位置
$_
应用gets读取的字符串
$.
解释器最近读取的行数
$&
最近一次匹配正则表达式的字符串
$~
子表达式的最近一次匹配
$n
正则表达式最近匹配的第n个表达式
$=
是否区分大小写的标志
$/
输入记录分隔符
$\
输出记录分隔符
$$
解释器进程ID
$0
脚本文件名称
$*
命令行参数总数
$?
最后一次执行的子进程退出状态
$:
Ruby内置全局变量,也叫$LOAD_PATH,功能就是java中的classpath,用来加载类库的,当使用require加载某个文件时,ruby就会从这个变量的值去查找,找不到就会报LoadError。这个值就是一个包含类库的绝对路径的数组。
$:.unshift(File.dirname(__FILE__) + '/../../lib')
这句话的作用是什么呢?
首先,File.dirname(__FILE__) 将当前文件的当前路径名获取到,
再使用相对路径'/../../lib' 加载这个./../../lib 路径。
最后将这个路径放到加载所有路径数组的最前面.unshift。
此时,如果需要使用./../../lib路径 下的ruby文件 ,就可以 直接require 'rubyfile'。
否则,你可能需要使用 require File.dirname(__FILE__) + '/../../lib/rubyfile'