Ruby - предопределенные переменные

Предопределенные переменные Ruby влияют на поведение всей программы, поэтому их использование в библиотеках не рекомендуется.

Доступ к значениям в большинстве предопределенных переменных можно получить альтернативными способами.

В следующей таблице перечислены все предопределенные переменные Ruby.

Sr. No. Имя и описание переменной
1

$!

Последний возникший объект исключения. К объекту исключения также можно получить доступ, используя => в предложении rescue .

2

$@

Трассировка стека для последнего возникшего исключения. Информация об обратной трассировке стека может быть получена методом Exception # backtrace последнего исключения.

3

$/

Разделитель входной записи (по умолчанию новая строка). get, readline и т. д. принимают разделитель входной записи в качестве необязательного аргумента.

4

$\

Разделитель выходной записи (по умолчанию ноль).

5

$,

Разделитель вывода между аргументами для печати и Array # join (по умолчанию ноль). Вы можете явно указать разделитель для Array # join.

6

$;

Разделитель по умолчанию для разделения (по умолчанию ноль). Вы можете явно указать разделитель для String # split.

7

$.

Номер последней строки, прочитанной из текущего входного файла. Эквивалент ARGF.lineno.

8

$<

Синоним ARGF.

9

$>

Синоним слова $ defout.

10

$0

Имя текущей исполняемой программы Ruby.

11

$$

Идентификатор процесса текущей исполняемой программы Ruby.

12

$?

Статус выхода последнего процесса прекращен.

13

$:

Синоним для $ LOAD_PATH.

14

$DEBUG

Истинно, если указан параметр командной строки -d или --debug.

15

$defout

Целевой вывод для print и printf ( по умолчанию $ stdout ).

16

$F

Переменная, которая получает вывод от split, если указан -a. Эта переменная устанавливается, если параметр командной строки -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

Значение параметра интерпретатора -x и псевдоним $ DEBUG

28

$-F

Значение опции интерпретатора -x и псевдоним $ ;.

29

$-i

Значение опции интерпретатора -x и в режиме редактирования на месте содержит расширение, в противном случае - nil. Можно включить или отключить режим редактирования на месте.

30

$-I

Значение опции интерпретатора -x и псевдоним $ :.

31 год

$-l

Значение опции интерпретатора -x и истина, если установлена ​​опция -l. Только для чтения.

32

$-p

Значение опции интерпретатора -x и истина, если установлена ​​опция -p. Только для чтения.

33

$_

Локальная переменная, последняя строка, прочитанная, получает или читает строку в текущей области.

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

$+

Строка, соответствующая последней успешно сопоставленной группе в последнем сопоставлении с шаблоном.