Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Ruby: eigenclass, metaclass, singleton, object

Что такое eigenclass?

Вопрос направлен на проверку знания метаклассов в Ruby и их назначения.

Короткий ответ

Eigenclass — это уникальный, скрытый класс, присоединённый к каждому объекту. В нем хранятся методы, определённые только для этого объекта.

Длинный ответ

В Ruby eigenclass (или метакласс) используется для добавления методов конкретному объекту. Когда вы определяете метод только для одного объекта, он добавляется в его eigenclass.

Пример:

obj = "Hello"
def obj.greet
  	"Hello from eigenclass!"
end

puts obj.greet # => Hello from eigenclass!

Метакласс можно открыть напрямую с помощью конструкции class << object:

obj = "Ruby"
class << obj
  	def unique_method
    		"I'm unique to this object!"
  	end
end

puts obj.unique_method # => I'm unique to this object!

Метаклассы позволяют динамически добавлять методы и изменять поведение отдельных объектов, что делает их мощным инструментом в Ruby.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • Ruby

    Ruby

Ключевые слова

#eigenclass

#metaclass

#singleton

#object

Подпишись на Ruby Developer в телеграм