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-их, були введені підпрограми, як їх тоді називали, щоб зменшити повторення.

Альтернативи? Звісно, у вас є вбудований код, ви можете використовувати ООП з класами та об’єктами, або навіть функціональне програмування з лямбдами та процами. Але функції є основою організованого коду. Хочете продуктивності? Локальні змінні в функціях швидкі, і функції можуть негайно повертати значення за допомогою return.

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

Дивіться також