Предопределенные переменные Ruby влияют на поведение всей программы, поэтому их использование в библиотеках не рекомендуется.
Доступ к значениям в большинстве предопределенных переменных возможен альтернативным способом.
В следующей таблице перечислены все предопределенные переменные Ruby.
$!
Последнее исключение объекта поднято. Доступ к объекту исключения также можно получить с помощью => в предложении спасения .
$ @
Возврат стека для последнего вызванного исключения. Информация о трассировке стека может быть получена методом Extrace # backtrace из последнего исключения.
$ /
Разделитель входной записи (по умолчанию новая строка). get, readline и т. д., принимают их входной разделитель записей в качестве необязательного аргумента.
$ \
Разделитель выходных записей (по умолчанию nil).
$,
Выходной разделитель между аргументами для печати и Array # join (по умолчанию nil). Вы можете указать разделитель явно для Array # join.
$;
Разделитель по умолчанию для split (по умолчанию nil). Вы можете указать разделитель явно для String # split.
$.
Номер последней строки, прочитанной из текущего входного файла. Эквивалент ARGF.lineno.
$ <
Синоним для ARGF.
$>
Синоним для $ defout.
$ 0
Имя текущей исполняемой программы Ruby.
$$
PID процесса текущей исполняемой программы Ruby.
$?
Состояние выхода последнего процесса прекращено.
$:
Синоним для $ LOAD_PATH.
$ DEBUG
Истинно, если указан параметр командной строки -d или —debug.
$ defout
Целевой вывод для print и printf ( $ stdout по умолчанию).
$ F
Переменная, которая получает выходные данные из split, когда указана опция -a. Эта переменная устанавливается, если параметр командной строки -a указан вместе с параметром -p или -n.
$ FILENAME
Имя файла, который в данный момент читается из ARGF. Эквивалент ARGF.filename.
$ LOAD_PATH
Массив, содержащий каталоги для поиска при загрузке файлов с загрузкой и требующих методов.
$ SAFE
Уровень безопасности
0 → Никакие проверки не выполняются для внешних (поврежденных) данных. (дефолт)
1 → Потенциально опасные операции с испорченными данными запрещены.
2 → Потенциально опасные операции над процессами и файлами запрещены.
3 → Все вновь созданные объекты считаются испорченными.
4 → Изменение глобальных данных запрещено.
$ STDIN
Стандартный ввод (по умолчанию STDIN).
$ STDOUT
Стандартный вывод (STDOUT по умолчанию).
$ STDERR
Стандартная ошибка (по умолчанию STDERR).
$ VERBOSE
True, если указан параметр командной строки -v, -w или —verbose.
$ — х
Значение параметра интерпретатора -x (x = 0, a, d, F, i, K, l, p, v). Эти варианты перечислены ниже
$ -0
Значение параметра интерпретатора -x и псевдоним $ /.
$ -a
Значение опции интерпретатора -x и true, если установлена опция -a. Только для чтения.
$ -d
Значение параметра интерпретатора -x и псевдоним $ DEBUG
$ -F
Значение параметра интерпретатора -x и псевдоним $ ;.
$ -i
Значение параметра интерпретатора -x и в режиме редактирования на месте содержит расширение, в противном случае — ноль. Можно включить или отключить режим редактирования на месте.
$ -I
Значение параметра интерпретатора -x и псевдоним $ :.
$ -l
Значение опции интерпретатора -x и true, если установлена опция -l. Только для чтения.
$ -p
Значение опции интерпретатора -x и true, если установлена опция -p. Только для чтения.
$ _
Локальная переменная, последняя строка, прочитанная get или readline в текущей области видимости.
$ ~
Локальная переменная MatchData, относящаяся к последнему совпадению. Метод регулярного выражения # match возвращает информацию о последнем совпадении.
$ n ($ 1, $ 2, $ 3 …)
Строка, найденная в n-й группе последнего совпадения с образцом. Эквивалентно m [n], где m — объект MatchData .
$ &
Строка, найденная в последнем совпадении с образцом. Эквивалентно m [0], где m — объект MatchData .
$ `
Строка, предшествующая совпадению в последнем сопоставлении с образцом. Эквивалент m.pre_match, где m — объект MatchData .
$»
Строка, следующая за совпадением в последнем совпадении с образцом. Эквивалент m.post_match, где m — объект MatchData.
$ +
Строка, соответствующая последней успешно сопоставленной группе в последнем сопоставлении с образцом.