Глибоке занурення в Ruby: методи, блоки та Procs

Ruby використовує об’єктно-орієнтований підхід до програмування. В такій мові, все є об’єктом, навіть прості типи даних, такі як числа та рядки. Це означає, що у Ruby кожен об’єкт має свої методи, які можуть змінювати стан об’єкта або виконувати деякі дії над ним.

Методи в Ruby

Методи в Ruby - це певні інструкції, що виконуються, коли вони викликаються. Для визначення методу в Ruby, використовується ключове слово def, за яким слідує ім’я методу (та аргументи в дужках, якщо потрібні). Після цього идуть інструкції, які має виконати метод. Метод закінчується ключовим словом end.

def сказати_привіт(ім'я)
  puts "Привіт, #{ім'я}"
end

Блоки в Ruby

Блоки в Ruby - це набори інструкцій, які можна розглядати як безіменні методи.

Популярний приклад блоків в Ruby - це ітераційні методи, такі як each, map, та select.

масив = [1, 2, 3, 4, 5]
масив.each do |число|
  puts число * 2
end

Procs в Ruby

Procs, або процедури, є об’єктами, що виконують блок коду. Вони, як і блоки, виконують інструкції, але відрізняються тим, що є об’єктами, мають властивості та можуть бути збережені, передані або повернуті.

proc = Proc.new { |число| puts число * 2 }
масив.each(&proc)

Зазвичвй Procs можуть здатися трохи заплутаними на початку. Але з трохи практики та детального розуміння того, як вони працюють, вони стануть невід’ємною частиною вашої Ruby-розробки.

Наступний крок? Попрацюйте з Ruby, визначте свої власні методи, створіть блоки та працюйте з Procs. Чим більше ви практикуєтесь, тим швидше зрозумієте красу та ефективність цієї мови.