Курс Raku / Розширені / Контейнери
Інтроспекція контейнерів
Інтроспекція означає розпитування значення чи контейнера про
нього самого — про його тип, про контейнер, що лежить в основі, та про
механізми за ним. Одним інструментом інтроспекції, .^name,
ви вже користувалися, щоб виводити тип значення.
Raku пропонує невелику родину таких інструментів, записаних великими
літерами: WHAT, VAR, WHO та
HOW. Їх іноді називають псевдометодами, бо
компілятор надає їм особливого значення, а не розглядає як звичайні
методи. Цей розділ розглядає кожен із них.
Для нагадування, ось як .^name повідомляє, як змінюється
тип нетипізованого контейнера, коли ви зберігаєте в ньому різні
значення:
my $value;
say $value.^name; # Any
$value = 42;
say $value.^name; # Int
$value = 'forty-two';
say $value.^name; # StrКонтейнер починає з Any, а потім повідомляє тип того
значення, яке зараз містить.
Теми цього розділу
Практика
Виконайте 1 тест за змістом цього розділу.
Вправи
У цьому розділі 3 вправи. Перш ніж братися до практики, вивчіть усі теми розділу.