Руби для романтиков [Роман Пушкин] (pdf) читать постранично, страница - 2
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- 4
- . . .
- последняя (77) »
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
112
112
115
116
119
127
130
136
140
142
144
147
154
ОГЛАВЛЕНИЕ
Установка gem’ов . . . . . . . . . . . . . . . . . . . . . . . .
Обращение к массиву массивов . . . . . . . . . . . . . .
Многомерные массивы . . . . . . . . . . . . . . . . . . . .
Наиболее часто встречающиеся методы класса Array
Метод empty? . . . . . . . . . . . . . . . . . . . . . . . . . .
Методы length, size, count . . . . . . . . . . . . . . . . . . .
Метод include? . . . . . . . . . . . . . . . . . . . . . . . . . .
Добавление элементов . . . . . . . . . . . . . . . . . . . . .
Выбор элементов по критерию (select) . . . . . . . . . .
Отсечение элементов по критерию (reject) . . . . . . . .
Метод take . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Есть ли хотя бы одно совпадение (any?) . . . . . . . . .
Все элементы должны удовлетворять критерию (all?)
Несколько слов о популярных методах класса Array .
Размышления о массивах в Ruby . . . . . . . . . . . . . .
Символы . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Структура данных «Хеш» (Hash) . . . . . . . . . . . . . .
Другие объекты в качестве значений . . . . . . . . . . .
Пример JSON-структуры, описывающей приложение
Англо-русский словарь . . . . . . . . . . . . . . . . . . . .
Наиболее часто используемые методы класса Hash . .
Установка значения по-умолчанию . . . . . . . . . . . .
Передача опций в методы . . . . . . . . . . . . . . . . . .
Набор ключей (HashSet) . . . . . . . . . . . . . . . . . . . .
Итерация по хешу . . . . . . . . . . . . . . . . . . . . . . .
Метод dig . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Проверка наличия ключа . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
166
173
179
180
181
183
185
185
186
187
188
188
189
189
190
194
197
204
207
212
218
219
223
232
236
239
243
Часть 4. Введение в ООП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Классы и объекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
ОГЛАВЛЕНИЕ
Состояние . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Состояние, пример программы . . . . . . . . . . . . . . . . . . . . . . .
Полиморфизм и duck typing . . . . . . . . . . . . . . . . . . . . . . . . .
Наследование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Модули . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subtyping (субтипирование) против наследования . . . . . . . . . .
Статические методы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Вся правда про ООП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Отладка программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Отладка с использованием вывода информации в консоль . . . . .
Отладка с использованием консольного отладчика . . . . . . . . . .
Отладка с использованием графического отладчика . . . . . . . . .
Практическое занятие: подбор пароля и спасение мира . . . . . . .
Немного про виртуализацию, Docker, основные команды Docker .
Ruby Version Manager (RVM) . . . . . . . . . . . . . . . . . . . . . . . . .
Тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
247
264
271
283
292
295
301
307
309
310
314
324
329
351
356
378
381
402
Введение
Вместо предисловия
В 21 веке программирование стало одной из важнейших наук в любой экономике. Процессы, которые происходили раньше без помощи компьютеров,
были полностью или частично оптимизированы. Бизнес и простые люди увидели пользу электронных машин, и началась эпоха расцвета IT-индустрии.
Во всем многообразии технологий образовались отдельные направления.
Определились наиболее удобные инструменты для выполнения той или
иной задачи. Языки программирования претерпели существенные изменения.
Разобраться во всех языках и технологиях обычному читателю не так просто,
как это может показаться на первый взгляд.
В какой-то момент стало очевидно, что
- 1
- 2
- 3
- 4
- . . .
- последняя (77) »
Последние комментарии
2 часов 59 минут назад
1 день 14 часов назад
1 день 22 часов назад
2 дней 13 часов назад
2 дней 17 часов назад
2 дней 17 часов назад