В Ruby модули используются для группировки методов, констант и классов. Они помогают организовать и структурировать код, делая его более читаемым и поддерживаемым. Вот пример создания модуля в Ruby:
module MyModule
CONSTANT_VALUE = 10
def self.my_method
puts "This is a class method in MyModule"
end
def instance_method
puts "This is an instance method in MyModule"
end
end
Модуль может содержать методы как экземпляра, так и класса, а также константы. Методы, определенные с помощью self.method_name, являются методами класса (или статическими методами), тогда как обычные методы будут экземплярными методами. Чтобы использовать методы и константы из модуля, их можно включить в класс с помощью ключевого слова include:
class MyClass
include MyModule
end
obj = MyClass.new
obj.instance_method # Вызов экземплярного метода из модуля
MyClass.my_method # Вызов метода класса из модуля
puts MyModule::CONSTANT_VALUE # Обращение к константе из модуля
Такая структура позволяет избежать дублирования кода и обеспечивает повторное использование функциональности, которую предоставляет модуль.