Урок восьмой: функции

Введение в Ruby [HEXLET]

Проще всего знакомиться с функциями на практическом примере.

Давайте напишем функцию, которая вычисляет сумму квадратов двух простых чисел и по ходу работы разберём особенности работы функции в языке программирования Ruby.

  • Все функции в Ruby начинаются с ключевого слова def.
  • Далее пишется название функции
  • Сразу после названия ставим скобки для передачи аргументов.
Урок восьмой: функции
Пример простой функции в Ruby

Особенности функций в Ruby

Не обязательно писать return перед выражением внутри функции, так как по умолчанию нам всегда возвращается последнее вычисленное выражение.

Если мы не передаём в функцию никаких аргументов, нам не нужно ставить пустые скобки, как это принято в других языках программирования.

Проще говоря, аргументы со заданным значением по умолчанию, которые мы передаём в функцию должны идти ПОСЛЕ аргументов без значения по умолчанию 🙂 В противном случае вы получите ошибку.

Если в аргумент передаются ассоциативные массивы = хэш, то последнюю пару можно не оборачивать в скобки. Это не будет считаться ошибкой. Но как по мне 0 лучше все таки обернуть. Мало ли.

Урок восьмой: функции
Если в качестве аргумента функции передаем хэш и он идёт последним в списке — его можно не оборачивать в фигурные скобки.

функция в ruby может принимать произвольное количество аргументов, если в скобках прописать звёздочку перед аргументом. При этом все передаваемые переменные будут сохраняться в виде массива.

Урок восьмой: функции
Пример передачи произвольного количества значений в функцию, которые в итоге сохраняются в качестве массива.
Юрий Ронин