Методи в Ruby

Методи в Ruby є фрагментами коду, які виконують певні завдання і викликаються за допомогою імені. Вони використовуються для організації логіки програми і виконання конкретних завдань. Кожен об’єкт в Ruby може мати свої методи. Методи можуть бути визначені в класах або модулях, і вони можуть бути вбудованими (заздалегідь визначеними) або створюватися користувачем.

Основні характеристики методів в Ruby

Визначення методу
Ви можете визначити метод, вказавши його ім’я, параметри та тіло, використовуючи ключове слово def.

def say_hello(name)
  puts "Hello, #{name}!"
end

Виклик методу
Метод можна викликати, вказавши ім’я методу та передавши необхідні аргументи. Наприклад:

say_hello("John")

Повернення значення
Метод може повертати значення за допомогою ключового слова return . Якщо ви не вказуєте return , метод поверне значення останнього виразу в тілі методу.

def add_numbers(a, b)
  sum = a + b
  return sum
end

Або скорочений варіант:

def add_numbers(a, b)
  a + b
end

Параметри методу
Метод може приймати параметри, які вказуються у вигляді імені у списку параметрів в круглих дужках під час визначення методу.

def greet(greeting, name)
  puts "#{greeting}, #{name}!"
end

Дефолтні значення параметрів
Можна встановлювати дефолтні значення для параметрів методу, щоб забезпечити їм значення за замовчуванням.

def greet(name, greeting = "Hello")
  puts "#{greeting}, #{name}!"
end

Методи класу і методи екземпляра
В Ruby є методи класу, які визначаються на рівні класу, і методи екземпляра, які визначаються для конкретного екземпляра класу.

class MyClass
  def self.class_method
    puts "This is a class method"
  end

  def instance_method
    puts "This is an instance method"
  end
end

Виклик методів:

MyClass.class_method  # Виклик методу класу
obj = MyClass.new
obj.instance_method  # Виклик методу екземпляра

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