Что такое синглтон класс?

Синглтон класс - это анонимный класс, который создается наследованием от другого класса, ассоциированного с определенным объектом. Это еще один способ расширить функциональность одного отдельно взятого объекта. Пример:

  class Foo
    def hello
      print "hello"
    end
  end

  foo = Foo.new
  foo.hello

теперь нам нужно добавить функциональность уровня класса только одному объекту:

  class << foo
    attr :name, TRUE
    def hello
      "hello. I'm " +  @name + "
"
    end
  end

  foo.name = "Tom"
  foo.hello

Мы изменили foo, не трогая класс Foo.

Вход для пользователей