Курс языка программирования Raku / Продвинутый уровень / Модули / Основы модулей
Импорт
Существует несколько способов подключить модуль к программе. Три
инструкции — use, need и require
— различаются тем, когда модуль загружается и что он
делает доступным.
use
Вы уже знакомы с use. Эта инструкция загружает модуль на
этапе компиляции и импортирует его экспортированные имена, чтобы их
можно было вызывать напрямую:
use Greeting;
say hello('Anna'); # Hello, Anna!need
need тоже загружает модуль на этапе компиляции, но
не импортирует экспортированные имена. Тем не менее, переменные
модуля, объявленные с our, доступны через имя модуля:
need Greeting;
say $Greeting::version; # 1.0После need Greeting простой вызов
hello(...) не будет распознан, потому что ничего не было
импортировано — доступны только квалифицированные имена, такие как
$Greeting::version.
require
require загружает модуль во время выполнения, а
не на этапе компиляции. Это полезно, когда до запуска программы
неизвестно, понадобится ли модуль, — например, когда его имя
определяется вводом пользователя.
Поскольку загрузка происходит во время выполнения, ничего не импортируется автоматически. Перечисление нужных символов в угловых скобках после имени подключает их, чтобы их можно было вызывать напрямую:
require Greeting <&hello>;
say hello('Anna'); # Hello, Anna!Для повседневного использования use — это то, что вам
нужно; need и require существуют для менее
распространённых случаев.
Практика
Пройдите 1 тест по содержанию этой темы.
Навигация по курсу
← Тест —
use | Тест —
use и need →
💪 Или перейдите сразу к упражнениям этого
раздела.