Что такое функция модуля?

Функция модуля - это private синглтон метод, определенный в модуле. Функция модуля похожа на метод класса, и вызывается с помощью записи Module.method:

  Math.sqrt(2)

Однако, так как модули могут быть включены в классы, функции модуля можно использовать без префикса (именно так функции модуля Kernel становятся доступны всем объектам):

  include Math
  sqrt(2)

Чтобы сделать метод функцией модуля, используйте module_function.

  module Test
    def thing
      # ...
    end
    module_function :thing
  end

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