Оглавление
Введение
Вместо предисловия
Руби против ибур
Для фана
Что мы будем изучать
Веб-программирование или что-то другое?
Сколько зарабатывают программисты?
Ваше преимущество
Часть 1. Первые шаги
Среда исполнения
Настройка Windows для запуска первой программы
Здравствуйте, я ваш REPL
Запуск программы из файла
Я ваш файловый менеджер
Основы работы с файловой системой
Навигация
Создание файла
Консольный ниндзя
Текстовые редакторы
Первая программа
Переменные в языке Руби
Сложение и умножение строк
Часть 2. Основы
Типы данных
Докажем, что все в руби — объект
Приведение типов (англ: converting types или type casting)
Дробные числа
Интерполяция строк
Bang!
Блоки
Блоки и параметры
Любопытные методы класса Integer
Сравнение переменных и ветвление
Комбинирование условий
Некоторые полезные функции языка руби
Генерация случайных чисел
Угадай число
Часть 3. Время веселья
Тернарный оператор
Индикатор загрузки
Методы
Эмулятор судного дня
Переменные экземпляра и локальные переменные
Однорукий бандит (слот-машина)
Массивы
Немного про each
Инициализация массива
Обращение к массиву
Битва роботов
Массивы массивов (двумерные массивы)
Установка gem’ов
Обращение к массиву массивов
Многомерные массивы
Наиболее часто встречающиеся методы класса Array
Метод empty?
Методы length, size, count
Метод include?
Добавление элементов
Выбор элементов по критерию (select)
Отсечение элементов по критерию (reject)
Метод take
Есть ли хотя бы одно совпадение (any?)
Все элементы должны удовлетворять критерию (all?)
Несколько слов о популярных методах класса Array
Размышления о массивах в Ruby
Символы
Структура данных «Хеш» (Hash)
Другие объекты в качестве значений
Пример JSON-структуры, описывающей приложение
Англо-русский словарь
Наиболее часто используемые методы класса Hash
Установка значения по-умолчанию
Передача опций в методы
Набор ключей (HashSet)
Итерация по хешу
Метод dig
Проверка наличия ключа
Часть 4. Введение в ООП
Классы и объекты
Состояние
Состояние, пример программы
Полиморфизм и duck typing
Наследование
Модули
Subtyping (субтипирование) против наследования
Статические методы
Вся правда про ООП
Отладка программ
Отладка с использованием вывода информации в консоль
Отладка с использованием консольного отладчика
Отладка с использованием графического отладчика
Практическое занятие: подбор пароля и спасение мира
Немного про виртуализацию, Docker, основные команды Docker
Ruby Version Manager (RVM)
Тестирование
RSpec
Заключение
Это книга с Leanpub book. Leanpub позволяет авторам и издателям участвовать в так называемом Lean Publishing - процессе, при котором электронная книга становится доступна читателям ещё до её завершения.Это помогает собрать отзывы и пожелания для скорейшего улучшения книги.Мы призываем авторов публиковать свои работы как можно раньше и чаще, постепенно улучшая качество и объём материала. Тем более, что с нашими удобными инструментами этот процесс превращается в удовольствие.