Курс языка программирования Raku / Продвинутый уровень / Модули / Пакеты и пространства имён / Exercises / Переменная our
Решение: Переменная our
Вот возможное решение задачи.
Код
package Config {
our $port = 8080;
my $secret = 42;
}
say $Config::port;
say $Config::secret.defined;🦋 Исходный код можно найти в файле our-variable.raku.
Вывод
8080
FalseКомментарии
our $portстановится частью пространства имёнConfig, поэтому доступна извне как$Config::port, выводя8080.my $secretявляется лексической — приватной для блока пакета, — поэтому она не находится в пространстве имён. Путь$Config::secretничего не находит — неопределённое значение, — поэтому.definedвозвращаетFalse. В этом и заключается разница, которую вноситour.
Навигация по курсу
← Переменная our | Пакет →