Ruby - 预定义变量

Ruby的预定义变量会影响整个程序的行为,因此不建议在库中使用它们.

大多数预定义变量中的值可以通过其他方式访问.

下表列出了所有Ruby的预定义变量.

Sr.No.变量名称&描述


1

$!

引发的最后一个异常对象.也可以使用=>访问异常对象.在 rescue 子句中.

2

$@

引发最后一个异常的堆栈 backtrace . stack backtrace 信息可以通过最后一个异常的异常#backtrace方法检索.

3

$/

输入记录分隔符(换行符)默认情况下). 获取,readline,等,将他们的输入记录分隔符作为可选参数.

4

$ \

输出记录分隔符( nil默认情况下.)

5

$,

print参数和Array#join之间的输出分隔符(默认为nil).您可以明确指定分隔符到Array#join.

6

&dollar ;;

split的默认分隔符(默认为nil).您可以为String#split明确指定分隔符.

7

$.

从当前输入文件读取的最后一行的编号.相当于ARGF.lineno.

8

&dollar;<

ARGF的同义词.

9

&dollar;>

$ defout的同义词.

10

&dollar; 0

正在执行的当前Ruby程序的名称.

11

&dollar;&dollar;

正在执行的当前Ruby程序的进程pid.

12

&dollar;?

最后退出状态流程终止.

13

&dollar;:

$ LOAD_PATH的同义词.

14

&dollar; DEBUG

如果-d或--debug命令行op,则为True指定了.

15

&dollar; defout

print printf 的目标输出( $ stdout 默认情况下.)

16

&dollar; F

当-a时,从 split 接收输出的变量是指定.如果-a命令行选项与-p或-n选项一起指定,则设置此变量.

17

&dollar; FILENAME

文件名目前正在阅读ARGF.相当于ARGF.filename.

18

&dollar; LOAD_PATH

使用load和require方法加载文件时,包含要搜索的目录的数组.

19

&dollar;SAFE

安全等级

0 → 不对外部提供的(受污染的)数据执行检查. (默认)

1 → 禁止使用受污染数据的潜在危险操作.

2 → 禁止对流程和文件进行潜在危险的操作.

3 → 所有新创建的对象都被视为污染.

4 → 禁止修改全局数据.

20

&dollar; stdin

标准输入(默认为STDIN).

21

&dollar; stdout

标准输出(默认为STDOUT).

22

&dollar; stderr

标准错误(默认为STDERR).

23

&dollar; VERBOSE

如果指定了-v,-w或--verbose命令行选项,则为真.

24

&dollar;  -  x

解释器选项-x的值(x = 0,a,d,F,i,K,l,p,v).这些选项列在下面

25

&dollar; -0

解释器选项-x的值和$/的别名.

26

&dollar; -a

如果设置了选项-a,则解释器选项-x的值为true.只读.

27

&dollar; -d

解释器选项-x的值和$ DEBUG的别名

28

&dollar; -F

解释器选项-x的值和$;的别名.

29

&dollar; -i

解释器选项的值-x和in-place-edit模式,保持扩展名,否则为nil.可以启用或禁用就地编辑模式.

30

&dollar; -I

解释器选项-x的值和$:的别名.

31

&dollar ; -l

解释器选项-x的值,如果选项-lis设置,则为true.只读.

32

&dollar; -p

解释器选项-x的值,如果选项-pis,则为true.只读.

33

&dollar; _

本地变量,当前范围内的get或readline读取的最后一个字符串.

34

&dollar;〜

与最后一场比赛有关的局部变量 MatchData .正则表达式#matse方法返回最后一个匹配信息.

35

&dollar; n($ 1,$ 2,$ 3 ......)

在最后一个模式匹配的第n组中匹配的字符串.等价于m [n],其中m是 MatchData 对象.

36

&dollar;&

最后一个模式中匹配的字符串比赛.等价于m [0],其中m是 MatchData 对象.

37

&dollar;`

最后一场比赛前的字符串模式匹配.相当于m.pre_match,其中m是 MatchData 对象.

38

&dollar;'

最后一个模式中匹配后的字符串比赛.相当于m.post_match,其中m是MatchData对象.

39

&dollar;&plus;

与上次模式匹配中最后一个成功匹配的组对应的字符串.