Выбрать главу

Таблица А.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 Оператор создания блока Нет