Информация по теме

Цель: познакомиться с особенностями работы методов в Ruby

Материалы для подготовки

  • Глава №8 книги Programming Ruby 2.0

Информация

Код, написанный на занятии можно скачать по ссылке. Для распаковки архива используйте команду 7z x 2017-10-24-code.7z.

Практические занятия

Работа с аргументами, принимающими значения по умолчанию

  • Создайте метод, вычисляющий доход от переработки фрукта. Переработка фрукта в форме выжимки сока увеличивает стоимость в 3.2 раза, переработка путём консервирования в 2.1 раза. Метод должен принимать в качестве аргумента стоимость фрукта без переработки и способ переработки. По умолчанию способ переработки по умолчанию - путём консервирования.
  • Создайте метод, позволяющий рисовать диагональную линию на квадратном изображении. В качестве параметров передаётся ширина стороны изображения, а также цвет линии и цвет фона. По умолчанию цвет линии - чёрный, цвет фона - белый. Метод должен создавать изображение в формате “размер-цвет линии-цвет фона.png”.

Работа с произвольным количеством аргументов

  • Создайте метод, принимающий произвольное количество фруктов в качестве аргументов. Для описания фрукта используется хеш с двумя ключами: название и изначальная цена. Результат работы метода - массив новых хешей, в которых добавлятся два поля - переработка в двух вариантах.
  • Создайте метод, принимающий название название математической операции: синус, косинус, возведение в квадрат, вычисление квадратного корня -, а также произвольное количество вещественных чисел. Результатом работы метода должен стать массив из чисел, к которым применили данную операцию.
  • Создайте метод для тестирования предыдущего метода. Метод должен создать 4 массива произвольной длины от 5 до 20 элементов и заполнить его произвольными вещественными числами от 0 до 200. На созданных массивах проверьте работу всех указанных операций.

Работа с хеш-аргументами метода

Создайте метод, рисующий котика. Котик описывается следующими параметрами:

  • Вес, вещественное число
  • Длина, вещественное число
  • Наличие полосок, логическое, по умолчанию нет
  • Цвет №1, строка, по умолчанию, #000000
  • Цвет №2, строка, по умолчанию, #FFFFFF
  • Цвет полосок, строка, по умолчанию, #FF0000

Параметры вес и длина должны быть обязательными, остальные - хеш-аргументами метода.

Проверьте работу метода, передавая аргументы

  • Явным указанием хеш-ключей
  • Передачей хеша с нужными ключами в качестве параметра