Курс языка программирования Raku / Продвинутый уровень / Контейнеры / Интроспекция с помощью МОП / Exercises / Описание переменной

Решение: Описание переменной

Вот возможное решение задачи.

Код

my Str $lang = 'Raku';

say $lang.^name;
say $lang.VAR.^name;
say $lang.VAR.name;

🦋 Исходный код можно найти в файле describe-a-variable.raku.

Вывод

Str
Scalar
$lang

Комментарии

  1. .^name возвращает тип значения, хранящегося в контейнере, — Str.

  2. .VAR возвращает базовый контейнер, а .^name на нём возвращает Scalar — тип самого контейнера.

  3. .VAR.name возвращает имя переменной $lang, включая сигил. Обратите внимание, что это метод name, а не мета-метод ^name, использованный в двух предыдущих строках.

Навигация по курсу

Описание переменной   |   Что это такое