Що таке singleton методи у Ruby?

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

Уявіть, що у вас є клас Person , який має звичайні атрибути, такі як ім’я та вік. Тепер давайте додамо singleton метод до конкретного об’єкта цього класу:

class Person
  attr_accessor :name, :age

  def initialize(name, age)
    @name = name
    @age = age
  end
end

# Створюємо новий об'єкт типу Person
person = Person.new("John", 25)

# Визначаємо singleton метод для цього об'єкта
def person.introduce
  puts "Привіт, мене звуть #{@name} і мені #{@age} років."
end

# Викликаємо singleton метод
person.introduce

У цьому прикладі ми маємо клас Person, який має атрибути name і age. Потім ми створюємо новий об’єкт person типу Person і визначаємо для нього singleton метод introduce. При виклику person.introduce, ми отримаємо вивід, що представляє об’єкт з конкретним ім’ям та віком.

Цей приклад показує, як можна додавати індивідуальні методи для конкретних об’єктів, не модифікуючи клас в цілому.