Ключевое слово Ruby «include»: методы и примеры смешивания модулей

В Ruby ключевое слово includeиспользуется для объединения функциональности модуля в класс. Он позволяет вам получать доступ к методам и константам, определенным в модуле, как если бы они были определены внутри класса.

Вот несколько примеров использования ключевого слова includeв Ruby:

  1. Базовый пример:

    module MyModule
    def my_method
    puts "Hello from MyModule!"
    end
    end
    class MyClass
    include MyModule
    end
    obj = MyClass.new
    obj.my_method

    Выход:

    Hello from MyModule!
  2. Несколько модулей:

    module Module1
    def method1
    puts "Method 1"
    end
    end
    module Module2
    def method2
    puts "Method 2"
    end
    end
    class MyClass
    include Module1
    include Module2
    end
    obj = MyClass.new
    obj.method1
    obj.method2

    Выход:

    Method 1
    Method 2
  3. Доступ к константам модуля:

    module MyModule
    MY_CONSTANT = 10
    end
    class MyClass
    include MyModule
    end
    obj = MyClass.new
    puts MyClass::MY_CONSTANT

    Выход:

    10
  4. Включение модуля в существующий объект:

    module MyModule
    def my_method
    puts "Hello from MyModule!"
    end
    end
    class MyClass
    attr_accessor :name
    end
    obj = MyClass.new
    obj.name = "John"
    obj.extend(MyModule)
    obj.my_method

    Выход:

    Hello from MyModule!