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

Решение: Поиск символа

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

Код

Программа, lookup.raku:

use Circle;

say Circle::{'$pi'};

🦋 Оба файла с исходным кодом можно найти в директории exercises/advanced/module-introspection/lookup-symbol.

Вывод

$ raku -I. lookup.raku
3.14

Комментарии

  1. Circle:: — это stash модуля, и использование имени в качестве ключа — Circle::{'$pi'} — извлекает хранящееся под ним значение. Ключ должен включать сигил, так же как и перечисленные имена.

  2. Это обращается к тому же значению, что и квалифицированное $Circle::pi, но поскольку имя является обычной строкой, оно может быть вычислено во время выполнения, а не прописано в исходном коде.

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

Поиск символа   |   Тест — Stash