Menu
Coddy logo textTech

Возвращаемые значения

Часть раздела Основы путешествия по Ruby на Coddy — урок 50 из 88.

До сих пор наши методы выполняли такие действия, как вывод данных. Но методы становятся по-настоящему мощными, когда они могут возвращать данные в код, который их вызвал. Именно для этого и нужны возвращаемые значения.

В Ruby метод автоматически возвращает значение своего последнего выражения:

def add(a, b)
  a + b
end

result = add(5, 3)
puts result  # Выводит: 8

Обратите внимание, что внутри метода нет puts. Вместо этого метод вычисляет a + b и возвращает это значение. Затем мы можем сохранить его в переменной или использовать напрямую.

Вы также можете явно использовать ключевое слово return:

def multiply(a, b)
  return a * b
end

puts multiply(4, 5)  # Выводит: 20

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

Возвращаемые значения позволяют объединять операции в цепочки и строить сложную логику из простых методов:

def double(n)
  n * 2
end

puts double(double(3))  # Выводит: 12
challenge icon

Задание

Легко

Определите метод с именем square, который принимает один параметр n и возвращает квадрат этого числа (число, умноженное на само себя).

Считайте два целых числа из входных данных. Используйте метод square, чтобы вычислить квадрат каждого числа, а затем выведите сумму обоих квадратов.

Например, если входные данные — 3 и 4:

  • Квадрат 3 равен 9
  • Квадрат 4 равен 16
  • Сумма равна 25

Результат должен быть:

25

Если входные данные — 5 и 2, результат должен быть:

29

Шпаргалка

Методы могут возвращать значения в код, который их вызвал. В Ruby метод автоматически возвращает значение своего последнего выражения:

def add(a, b)
  a + b
end

result = add(5, 3)
puts result  # Выводит: 8

Вы также можете использовать ключевое слово return явно, чтобы выйти из метода и вернуть значение:

def multiply(a, b)
  return a * b
end

puts multiply(4, 5)  # Выводит: 20

Возвращаемые значения позволяют объединять вызовы методов в цепочку:

def double(n)
  n * 2
end

puts double(double(3))  # Выводит: 12

Попробуйте сами

# Считать два целых числа из ввода
num1 = gets.chomp.to_i
num2 = gets.chomp.to_i

# TODO: Определите метод square ниже


# TODO: Вычислите сумму квадратов, используя метод square, и выведите результат
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы