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 для вариадических функций и многое другое. Функции могут быть такими простыми или сложными, как пожелает ваше сердце.