Модули и примеси
Используйте модули и примеси для расширения функциональности класса без традиционного наследования
«Модули и примеси» — бесплатный урок Ruby Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ruby Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ruby Academy содержит 4 уроков всего.
Совместное использование кода с помощью модулей
Примеси и модули
Модули позволяют организовывать и повторно использовать код без традиционного наследования.
Примеси позволяют нескольким классам совместно использовать поведение, не будучи напрямую связанными.
В этом уроке Вы научитесь использовать модули и примеси в Руби.

Определение модуля
Модули определяются с помощью ключевого слова module, и из них нельзя создавать экземпляры.
module Greetings
def say_hello
puts 'Hello!'
end
endПодключение модуля
Используйте include, чтобы добавить методы модуля в качестве методов экземпляра.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
include Greetings
end
person1 = Person.new
person1.say_helloИспользование расширения
extend добавляет методы модуля в качестве методов класса.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
extend Greetings
end
Person.say_helloИспользование нескольких модулей
Класс может подключать несколько модулей для реализации разных функций.
module Walkable
def walk
puts 'Walking...'
end
end
module Talkable
def talk
puts 'Talking...'
end
end
class Person
include Walkable
include Talkable
end
person1 = Person.new
person1.walk
person1.talkИспользование констант в модулях
Модули могут хранить константы, к которым можно обращаться с помощью ::.
module MathOperations
PI = 3.14
end
puts MathOperations::PIИнкапсуляция методов в модулях
Модули позволяют определять вспомогательные методы, которые можно использовать в разных классах.
module Formatter
def format_text(text)
text.upcase
end
end
class Document
include Formatter
end
doc = Document.new
puts doc.format_text('hello')Использование self в модулях
Методы внутри модуля можно определять с помощью self, чтобы сделать их доступными напрямую.
module Helper
def self.greet
puts 'Hello from a module!'
end
end
Helper.greetПоздравляем!
Вы научились использовать примеси и модули в Руби.
Далее Вы изучите работу с файлами и операциями ввода-вывода.

Изучай Ruby с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 29
- Уроки
- 109
Часто задаваемые вопросы
Урок «Модули и примеси» бесплатный?
Да — полный текст урока «Модули и примеси» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ruby Academy, подпишись на CoddyKit PRO. Курс Ruby Academy содержит 4 уроков всего.
Чему я научусь в уроке «Модули и примеси»?
Используйте модули и примеси для расширения функциональности класса без традиционного наследования Ты практикуешь Ruby Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ruby Academy?
Предыдущий опыт не требуется. Ruby Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Модули и примеси»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ruby Academy?
Да. Каждый урок Ruby Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.