Читаем Программирование на языке Ruby полностью

ВыражениеЗначениеКомментарий
[][]пустой массив
[0][0]массив из одного элемента – числа 0
[1, 2.3, "Ruby"][1, 2.3, "Ruby"]массив из трёх элементов
[[1,2],[3]][[1, 2], [3]]массив из двух массивов
%w(Где ёж?)"Где [ёж?"]способ создания массива строк
%w(Где\ же он?)%w[Где же "он?"]экранирование пробела
%W(2 3 #{2*3})["2", "3", "6"]подстановка значения выражения


Диапазон (Range) – последовательность объектов, которая включает (для e1..e2) или не включает (для e1...e2) в себя элемент e2. Используемый в качестве итератора диапазон передаёт в блок все свои элементы (как при вызове метода to_a, преобразующего диапазон в массив).


Таблица A.4. Примеры диапазонов

ДиапазонСоответствующий ему массив
1..9[1, 2, 3, 4, 5, 6, 7, 8, 9]
1 1 0[1, 2, 3,4, 5, 6, 7, 8, 9]
3.. 1[]
’d’..’n’["d", "e", "g", "h", "i", "j", "k", "l", "m", "n"]


Хэш (Hash) – это набор пар ключ—значение. Хэш схож с массивом, за исключением одной особенности – индексация производится с помощью объектов любых типов, кроме integer. Причем порядок обхода элементов не зависит от порядка вставки.


Примеры хэшей приведены ниже:


Таблица A.5. Примеры хэшей

ВыражениеЗначениеКомментарий
Hash["3 О 2, "b" 1 a"]{"a"=>1, "b"=>2,"c"=>3}хэш из трех элементов
Hash["a" => 1, "b" => 2]{"a"1 => 1, "b" => 2}хэш из двух элементов
{"a"> 1}={"a"=> 100}хэш из одного элемента


Как видно из примера, для создания хэша часто используются литералы key => value. Ключ и значения находятся в паре, поэтому число аргументов должно быть четным.

Хэши имеют значение по умолчанию. Это значение возвращается каким-либо итератором при попытке обращения к ключу, не существующему в хэше. И этим значением является nil.

Регулярные выражения (объекты класса Regexp) используются для подбора шаблона строки. Для создания регулярных выражений нужно использовать литералы /…/ или %r…, а также конструктор Regexp.new. Отметим, что разные версии Руби используют разные средства для работы с регулярными выражениями.


При создании регулярных выражений могут идти следующие параметры:


Таблица A.6.

ПараметрЗначение
/…/iне различать регистр
/…/xигнорировать пробелы и переводы строк
/…/sсчитать регулярное выражение


С помощью регулярных выражений можно:

• Проверять, соответствует ли вся строка целиком заданному шаблону.

• Находить в строке подстроки, удовлетворяющие заданному шаблону.

• Извлекать из строки подстроки, соответствующие заданному шаблону.

• Изменять в строке подстроки, соответствующие шаблону.


Примеры использования регулярных выражений приведены в таблице А7.


Таблица A.7.

ПараметрЗначение
/Abc/совпадет только со словом ’Abc’
/Abc/iсовпадет со словами ’ABC’, ’abc’, ’Abc’ и т.д.
/abc/совпадет с ’abc’, ’abc cba’
/abc.*def/sсовпадет с ’abckghfdkdef’


Каждый символ регулярного выражения последовательно сравнивается с проверяемой строкой. Все, что не является указанными ниже спецсимволами или операторами, воспринимается, как обычный символ, рассматриваемый на простое совпадение.

A.2 Термы и выражения.

Термами в языке Ruby являются литералы (объекты базовых типов), результаты выполнения команд операционной системы, генерации символов и вызова методов, а также значения констант и переменных.

Вызов метода m объекта obj1 со списком параметров arg и блоком blk (иначе называемый посылкой сообщения m получателю obj) записывают в виде obj.m(arg){blk} или obj.m(arg) do blk end. Для вызовов, выполняемых вне классов («на верхнем уровне»), получателем является main – экземпляр класса Object, создаваемый при старте Ruby–программы. Примеры вызовов методов приведены в таблице A.8.

В языке Ruby имена используются для ссылок на константы, переменные, методы, классы и модули. В таблице A.9 перечислены зарезервированные слова, которые не могут быть использованы в качестве имён.

Имена констант должны начинаться с большой латинской буквы (от A до Z), за которыми может следовать любая последовательность больших и малых латинских букв, цифр и символов подчёркивания (_).

Перейти на страницу:

Похожие книги

Фундаментальные алгоритмы и структуры данных в Delphi
Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет СЃРѕР±РѕР№ уникальное учебное и справочное РїРѕСЃРѕР±ие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий DelphiВ».Р' книге РїРѕРґСЂРѕР±но рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием. Р

Джулиан М. Бакнелл

Программирование, программы, базы данных