Курс Raku / Розширені / Модулі / Пакети та простори імен 🆕 / Вправи / Змінна our

Розв’язання: Змінна our

Ось один із можливих варіантів розв’язання задачі.

Код

package Config {
    our $port = 8080;
    my  $secret = 42;
}

say $Config::port;
say $Config::secret.defined;

🦋 Вихідний код можна знайти у файлі our-variable.raku.

Вивід

8080
False

Коментарі

  1. our $port стає частиною простору імен Config, тож до неї можна дістатися ззовні як $Config::port, що виводить 8080.

  2. my $secret є лексичною — приватною для блоку пакунка, — тож у просторі імен її немає. Шлях $Config::secret нічого не знаходить, це невизначене значення, тож .defined дає False. Ось у чому різниця, яку створює our.

Навігація курсом

Змінна our   |   Пакет