Есть ли в Ruby методы класса?

Синглтон метод класса как объекта класса Class называется методом класса. (На самом деле, метод класса определяется в метаклассе, но это довольно прозрачно). С другой стороны, можно сказать, что метод класса - это метод(сообщение), адресованный самому классу, а не его объекту. Все сводится к тому, что методы класса можно вызывать, не имея объектов этого класса. Создадим синглтон метод класса Foo:

  class Foo
    def Foo.test
      "this is foo"
    end
  end

  # It is invoked this way.

  Foo.test

В этом примере Foo.test - это метод класса. Методы, определенные в классе Class, могут быть использованы как методы класса любого класса!

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