Ruby для новичков: методы и return

Что такое методы?

Методы — небольшие подпрограммы, используемые многократно. Если фрагмент кода повторяется (например, сложение трёх чисел и вывод суммы), вместо многократного написания его лучше вынести в отдельный метод. Это сокращает код и упрощает его изменение: достаточно изменить код в одном месте (в методе).

Создание простого метода

Для создания метода используется ключевое слово def. Далее следует имя метода (например, say_hello). Тело метода, заключенное между def и end, содержит выполняемый код. Пример метода, выводящего «Привет, мир!»:

def say_hello
  puts "Привет, мир!"
end

Вызов метода:

say_hello

Вывод: «Привет, мир!»

Методы с параметрами

Методы могут принимать параметры. Пример метода, принимающего строку (word) и число (num):

def say_hello(word, num)
  puts "Ваши слова: #{word}"
  puts "Ваше число: #{num.to_s}"
end

Вызов:

say_hello("Бум!", 89)

Вывод:

Ваши слова: Бум!
Ваше число: 89

Значения по умолчанию для параметров

Для предотвращения ошибок при вызове метода с недостающим количеством параметров можно указать значения по умолчанию:

def say_hello(word = "Ничего", num = 0)
  puts "Ваши слова: #{word}"
  puts "Ваше число: #{num}"
end

Вызов без параметров использует значения по умолчанию:

say_hello

Вывод:

Ваши слова: Ничего
Ваше число: 0

Переданные параметры переопределяют значения по умолчанию.

Оператор return

Оператор return возвращает значение из метода и прерывает его дальнейшее выполнение. Код после return не выполняется. Пример метода sum, возвращающего сумму двух чисел:

def sum(x, y)
  return x + y
end

result = sum(56, 4)
puts result # Выведет 60

Возможен возврат нескольких значений через запятую:

def multiple_return(x, y)
  return x + y, 70
end

result = multiple_return(56, 4)
puts result[0] # Выведет 60
puts result[1] # Выведет 70

Возвращаемые значения упаковываются в массив.

Методы — мощный инструмент для организации и повторного использования кода в Ruby. return эффективно управляет потоком выполнения и возвратом результатов.

Что будем искать? Например,программа