- 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 的预定义变量会影响整个程序的行为,因此不建议在库中使用它们。
大多数预定义变量的值可以通过其他方法访问。
下表列出了所有 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 程序的进程 ID。 |
12 | $? 最后终止的进程的退出状态。 |
13 | $: $LOAD_PATH 的同义词。 |
14 | $DEBUG 如果指定了 -d 或 --debug 命令行选项,则为真。 |
15 | $defout print 和 printf 的目标输出(默认为 $stdout)。 |
16 | $F 当指定 -a 时接收来自 split 的输出的变量。如果指定了 -a 命令行选项以及 -p 或 -n 选项,则会设置此变量。 |
17 | $FILENAME 当前正在从 ARGF 读取的文件名。等同于 ARGF.filename。 |
18 | $LOAD_PATH 一个包含在使用 load 和 require 方法加载文件时要搜索的目录的数组。 |
19 | $SAFE 安全级别 0 → 对外部提供的(被污染的)数据不执行任何检查。(默认) 1 → 禁止使用被污染的数据进行潜在危险的操作。 2 → 禁止对进程和文件的潜在危险操作。 3 → 所有新创建的对象都被认为是被污染的。 4 → 禁止修改全局数据。 |
20 | $stdin 标准输入(默认为 STDIN)。 |
21 | $stdout 标准输出(默认为 STDOUT)。 |
22 | $stderr 标准错误(默认为 STDERR)。 |
23 | $VERBOSE 如果指定了 -v、-w 或 --verbose 命令行选项,则为真。 |
24 | $-x 解释器选项 -x 的值 (x=0, a, d, F, i, K, l, p, v)。这些选项列在下面 |
25 | $-0 解释器选项 -x 的值以及 $/ 的别名。 |
26 | $-a 解释器选项 -x 的值,如果设置了 -a 选项则为真。只读。 |
27 | $-d $DEBUG 的解释器选项 -x 的值和别名 |
28 | $-F $; 的解释器选项 -x 的值和别名。 |
29 | $-i 解释器选项 -x 的值,在就地编辑模式下,保存扩展名,否则为 nil。可以启用或禁用就地编辑模式。 |
30 | $-I :的解释器选项 -x 的值和别名。 |
31 | $-l 解释器选项 -x 的值,如果设置了 -l 选项则为真。只读。 |
32 | $-p 解释器选项 -x 的值,如果设置了 -p 选项则为真。只读。 |
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 | $+ 对应于最后模式匹配中最后成功匹配的组的字符串。 |