Курс 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


💪 Або перейдіть одразу до вправ цього розділу.