В Ruby модулі використовуються для групування коду, визначення просторів імен, міксінів та інших цілей. Ось кілька випадків, коли використовуються модулі в Ruby:
Групування коду. Модулі дозволяють групувати методи та константи в одному місці. Вони допомагають структурувати код і уникнути конфліктів імен.
module MathOperations
def add(a, b)
a + b
end
def subtract(a, b)
a - b
end
end
Створення просторів імен. Модулі дозволяють створювати простори імен, що допомагає уникнути конфліктів імен між різними частинами програми.
module MyModule
class MyClass
# ...
end
def self.my_method
# ...
end
end
Міксіни (Mixins). Модулі використовуються для реалізації міксінів, що дозволяють додавати функціональність до класу без використання наслідування.
module Debuggable
def debug
puts "Debugging..."
end
end
class MyClass
include Debuggable
end
obj = MyClass.new
obj.debug
Забезпечення доступу до методів класу. Модулі можуть використовуватися для забезпечення методів класу або методів екземпляру без наслідування.
module HelperMethods
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def class_method
puts "Class method"
end
end
end
class MyClass
include HelperMethods
end
MyClass.class_method
Ці приклади показують різні сценарії використання модулів в Ruby для структурування коду та реалізації різноманітної функціональності.