Таблица А.10. Некоторые предопределённые стандартные объекты
Имя | Класс | Назначение |
ARGF или $ | Object | Объект,предоставляющий доступ к конкатенации всех файлов,заданных в командной строке, или содержимому стандартного ввода (когда в командной строке нет аргументов) |
ARGV или $*Array | Array | Массив строк, содержащий аргументы командной строки запуска Ruby-программы |
ENV | Object | Подобный хэшу объект, содержащий значения переменных среды (environment) |
DATA | IO | Если программа содержит директиву __END__, то DATA содержит все строки файла программы, следующие за строкой с директивой __END__ |
RUBY_PLATFORM | String | Идентификатор платформы (операционной системы с дополнительными характеристиками), на которой выполняется программа |
RUBY_VERSION | String | Версия интерпретатора Ruby |
STDOUT | IO | Стандартный вывод, начальное значение $stdout |
__FILE__ | String | Имя файла, содержащего выполняемую программу |
__LINE__ | String | Номер текущей строки в программе |
Выражение представляет терм или несколько термов, объединённых с помощью перечисленных в таблице А.11 операторов. Приоритеты операторов, разделённых горизонтальными линиями, различны и убывают сверху вниз. Многие из операторов являются методами и могут быть переопределены. Примеры использования операторов приведены в таблице А.12.
Объект, предоставляющий доступ к конкатенации всех файлов, заданных в командной строке, или к содержимому стандартного ввода (когда в командной строке нет аргументов)
Массив строк, содержащий аргументы командной строки запуска Ruby–программы
Подобный хэшу объект, содержащий значения переменных среды (environment)
Если программа содержит директиву__END__, то DATA содержит все строки файла программы, следующие за строкой с директивой END
Идентификатор платформы (операционной системы с дополнительными характеристиками), на которой выполняется программа Версия интерпретатора Ruby Стандартный вывод, начальное значение $stdout Имя файла, содержащего выполняемую программу Номер текущей строки в программе
Таблица A.11. Операторы и их приоритеты
Операторы | Описание | Метод? |
[ ] | Ссылка на элемент массива или хэша | Да |
[ ] = | Присваивание элементу массива или хэша | Да |
** | Возведение в степень | Да |
!~ + - | Отрицание, дополнение, унарные + и - | Да |
* / % | Умножение, деление, нахождение остатка | Да |
+ - | Сложение, вычитание | Да |
>> << | Сдвиги вправо, влево | Да |
& | Побитовое «И» | Да |
^ | | «Исключительное Или», «Или» | Да |
<= < > => | Операторы сравнения | Да |
<=> == === | Проверки на равенство | Да |
!= | Проверка на неравенство | Нет |
=~ | Сравнение с образцом | Да |
!~ | Сравнение с образцом | Нет |
&& | Условное «И» | Нет |
|| | Условное «Или» | Нет |
.. ... | Операторы создания диапазонов | Нет |
? : | Тернарный оператор if-then-else | Нет |
= %= ~= /= -= | += Присваивание и присваивания с операцией | Нет |
|| < < || > > || || | Присваивания с операцией | Нет |
*= &&= ||= **= | Присваивания с операцией | Нет |
defined? | Проверка: определён ли символ? | Нет |
not | Логическое отрицание | Нет |
or and | Логические «Или» и «И» | Нет |
if unless | Условные выражения и модификаторы | Нет |
while until | Условные выражения и модификаторы | Нет |
begin end | Оператор создания блока | Нет |