- Ruby基础知识
 - Ruby - 主页
 - Ruby - 概述
 - Ruby - 环境设置
 - Ruby - 语法
 - Ruby - 类和对象
 - Ruby - 变量
 - Ruby - 运算符
 - Ruby - 评论
 - Ruby - IF...ELSE
 - Ruby - 循环
 - Ruby - 方法
 - Ruby - 块
 - Ruby - 模块
 - Ruby - 字符串
 - Ruby - 数组
 - Ruby - 哈希
 - Ruby - 日期和时间
 - Ruby - 范围
 - Ruby - 迭代器
 - Ruby - 文件 I/O
 - Ruby - 例外
 
Ruby - 预定义变量
Ruby 的预定义变量会影响整个程序的Behave,因此不建议在库中使用它们。
大多数预定义变量中的值可以通过其他方式访问。
下表列出了 Ruby 的所有预定义变量。
| 先生。 | 变量名称和描述 | 
|---|---|
| 1 | $! 最后引发的异常对象。还可以使用rescue子句中的=> 来访问异常对象。  | 
| 2 | $@ 最后引发的异常的堆栈回溯。堆栈回溯信息可以通过最后一个异常的 Exception#backtrace 方法检索。  | 
| 3 | $/ 输入记录分隔符(默认为换行符)。gets、readline等,将它们的输入记录分隔符作为可选参数。  | 
| 4 | $\ 输出记录分隔符(默认为 nil)。  | 
| 5 | $, print 参数和 Array#join 之间的输出分隔符(默认为 nil)。您可以为 Array#join 显式指定分隔符。  | 
| 6 | $; split 的默认分隔符(默认为 nil)。您可以为 String#split 显式指定分隔符。  | 
| 7 | $。 从当前输入文件读取的最后一行的行号。相当于 ARGF.lineno。  | 
| 8 | $< ARGF 的同义词。  | 
| 9 | $> $defout 的同义词。  | 
| 10 | $0 当前正在执行的 Ruby 程序的名称。  | 
| 11 | $$ 当前正在执行的 Ruby 程序的进程 pid。  | 
| 12 | $? 最后一个进程终止的退出状态。  | 
| 13 | $: $LOAD_PATH 的同义词。  | 
| 14 | $调试 如果指定了 -d 或 --debug 命令行选项,则为 true。  | 
| 15 | $默认值 print和printf的目标输出(默认为$stdout )。  | 
| 16 | $F 当指定 -a 时接收split输出的变量。如果与 -p 或 -n 选项一起指定 -a 命令行选项,则设置此变量。  | 
| 17 号 | $文件名 当前从 ARGF 读取的文件的名称。相当于 ARGF.文件名。  | 
| 18 | $LOAD_PATH 一个数组,保存使用 load 和 require 方法加载文件时要搜索的目录。  | 
| 19 | $安全 安全等级 0 → 不对外部提供的(受污染的)数据进行检查。(默认) 1 → 禁止使用受污染的数据进行潜在危险的操作。 2 → 禁止对进程和文件进行有潜在危险的操作。 3 → 所有新创建的对象都被视为受污染的。 4 → 禁止修改全局数据。  | 
| 20 | $标准输入 标准输入(默认为 STDIN)。  | 
| 21 | $标准输出 标准输出(默认为 STDOUT)。  | 
| 22 | $标准错误 标准错误(默认为 STDERR)。  | 
| 23 | $详细 如果指定了 -v、-w 或 --verbose 命令行选项,则为 True。  | 
| 24 | $-x 解释器选项 -x 的值(x=0、a、d、F、i、K、l、p、v)。下面列出了这些选项  | 
| 25 | $-0 解释器选项 -x 的值和 $/ 的别名。  | 
| 26 | $-a 如果设置了选项 -a,则解释器选项 -x 和 true 的值。只读。  | 
| 27 | $-d 解释器选项 -x 的值和 $DEBUG 的别名  | 
| 28 | $-F 解释器选项 -x 的值和 $; 的别名。  | 
| 29 | $-i 解释器选项 -x 的值在就地编辑模式下保存扩展名,否则为零。可以启用或禁用就地编辑模式。  | 
| 30 | $-I 解释器选项 -x 的值和 $: 的别名。  | 
| 31 | $-l 解释器选项 -x 的值,如果设置了选项 -li,则为 true。只读。  | 
| 32 | $-p 解释器选项 -x 的值,如果设置了选项 -pi,则为 true。只读。  | 
| 33 | $_ 局部变量,当前范围内由 gets 或 readline 读取的最后一个字符串。  | 
| 34 | $~ 与最后一场比赛相关的局部变量MatchData 。Regex#match方法返回最后一次匹配信息。  | 
| 35 | $n($1、$2、$3...) 最后一个模式匹配的第 n 组中匹配的字符串。相当于 m[n],其中 m 是MatchData对象。  | 
| 36 | $& 最后一个模式匹配中匹配的字符串。相当于 m[0],其中 m 是MatchData对象。  | 
| 37 | $` 最后一个模式匹配中匹配项之前的字符串。相当于 m.pre_match,其中 m 是MatchData对象。  | 
| 38 | $' 最后一个模式匹配中匹配项后面的字符串。相当于 m.post_match,其中 m 是 MatchData 对象。  | 
| 39 | $+ 与最后一个模式匹配中最后一个成功匹配的组相对应的字符串。  |