Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ruby / Ruby-новые грани.doc
Скачиваний:
118
Добавлен:
06.06.2015
Размер:
821.25 Кб
Скачать

Ruby - новые грани Автор: Евгений Охотников http://www.Intervale.Ru Источник: rsdn Magazine #4-2006 Опубликовано: 03.03.2007 Исправлено: 12.07.2007 Версия текста: 1.0

1 Введение 2 Язык Ruby вчера и сегодня 3 Начало работы с Ruby

3.1 Где взять? 3.2 Что запускать? 3.3 Где искать информацию?

4 Яркие грани

4.1 Система именования 4.2 Наследие Perl 4.3 Структура программы и поиск модулей 4.4 Строковые литералы и Symbol 4.5 Всё является объектом 4.6 Метод inspect у каждого объекта 4.7 Все выражения имеют значения 4.8 Классы 4.9 Наследование 4.10 Модули и Mixin-ы 4.11 Еще раз: все является объектом 4.12 Базовые типы Array и Hash 4.13 Вызов методов и типы параметров 4.14 Блоки кода и объекты Proc 4.15 Разнообразные eval-ы 4.16 Расширение уже существующих классов и объектов 4.17 Переопределение методов 4.18 method_missing 4.19 Утиная типизация

5 Пример с использованием OpenStruct и OptionParser 6 Заключение Список литературы

1 Введение

Когда некоторое время назад я выбрал Ruby для реализации одной конкретной и не очень сложной задачи, то мне не удалось оценить основные грани Ruby в полной мере. Блоки кода. Необязательные скобки. Удобство использования attr_reader/attr_accessor. Наличие method_missing. Пожалуй, и все.

Вначале я программировал на Ruby в стиле C++, только пользуясь Ruby-новыми конструкциями. Более того, временами это было «через силу», мне очень не хватало статической типизации — диссонанс от того, что на новый язык переносилась философия старого языка.

А потом понемногу, по чуть-чуть, я оценил остальные особенности Ruby — как раз те, которые я описываю здесь. Мне потребовалось около девяти месяцев на то, чтобы разглядеть действительно наиболее яркие грани языка. А уже после того, как они четко обозначились, я стал решать задачи на Ruby, думая уже в терминах Ruby, а не C++.

Возможно, столь много времени потребовалось еще из-за того, что Programming Ruby [2] — это очень большая книга, которая посвящает читателя во все тонкости языка, но не расставляет акцентов. Однако при переходе с C++ на Ruby (как в моем случае) не столь важны конкретные особенности синтаксиса языка. Гораздо важнее осознать, как именно должно измениться мышление, чтобы при программировании на Ruby думать именно на Ruby, а не на C++. И, по-моему, мне еще не попадалась книга о Ruby, в которой делался бы акцент именно на этом.

Поэтому, когда представилась возможность рассказать о Ruby то, что я сам хотел бы рассказать, я решил описать те грани языка, на которых я сам в конце концов сосредоточился, и которые мне лично кажутся самыми важными. Соответственно, излагаемый ниже материал рассчитан на более-менее опытных программистов, уже использующих другие языки программирования, но желающих понять, что же в этом Ruby такого особенного. А также для тех, кому вольно или невольно приходится изучать Ruby — в качестве еще одного русскоязычного источника информации о Ruby. Несколькими словами данную статью можно охарактеризовать как «глубокое погружение в Ruby для тех, кто не прочитал Programming Ruby».

Соседние файлы в папке Ruby