Курс языка программирования Raku / Продвинутый уровень / Модули / Основы модулей

Создание модулей

По мере роста программ удобно разделять их на повторно используемые части. Модуль — это единица кода, хранящаяся в отдельном файле, которую другие программы могут загружать и использовать.

Файл модуля имеет расширение .rakumod и начинается с объявления имени модуля с помощью unit module. Подпрограммы, написанные внутри, по умолчанию являются приватными; чтобы сделать одну из них доступной для кода, использующего модуль, пометьте её трейтом is export.

Вот модуль, сохранённый в файле Greeting.rakumod:

unit module Greeting;

sub hello($name) is export {
    return "Hello, $name!";
}

Подпрограмма hello помечена is export, поэтому она будет видна любой программе, использующей этот модуль. Подпрограмма без is export останется приватной для модуля.

Модуль также может делиться данными через переменные our, которые доступны через имя модуля. Добавить номер версии в Greeting — это просто ещё одна строка в файле:

our $version = '1.0';

С этой строкой в Greeting.rakumod значение доступно как $Greeting::version везде, где модуль загружен.

Следующие темы показывают, как программа загружает такой модуль и что именно она из него получает.

Практика

Пройдите 1 тест по содержанию этой темы.

Навигация по курсу

Основы модулей   |   Тест — is export


💪 Или перейдите сразу к упражнениям этого раздела.