Ruby:
Организация кода в функции

Как:

Представьте, что вы пишете быстрый скрипт для приветствия пользователей:

def greet(name)
  "Привет, #{name}!"
end

puts greet("Алиса")   # Вывод: Привет, Алиса!
puts greet("Боб")     # Вывод: Привет, Боб!

Или, возможно, вы вычисляете площадь круга:

def circle_area(radius)
  Math::PI * radius ** 2
end

puts circle_area(5)   # Вывод: 78.53981633974483

Аккуратнее и легче в обращении, правда?

Подробнее

Концепция функций, известных также как методы в Ruby, не нова — она стара как само программирование. Возвращаясь к 1950-м годам, подпрограммы, как их тогда называли, были введены для сокращения избыточности.

Альтернативы? Конечно, у вас есть встроенный код, вы можете использовать ООП с классами и объектами, или даже функциональное программирование с лямбдами и procs. Но функции являются основой упорядоченного кода. Хотите производительности? Локальные переменные в функциях работают быстро, и функции могут немедленно возвращать значения с помощью return.

С точки зрения реализации, вы можете определить функцию с помощью def и завершить её с помощью end. Вы можете установить параметры по умолчанию, использовать операторы splat для вариадических функций и многое другое. Функции могут быть такими простыми или сложными, как пожелает ваше сердце.

Смотрите также