Курс Raku / Розширені / Контейнери / Спеціальні та динамічні змінні 🆕
Твігіли
Твіґіл — це символ, поставлений між сигілом та іменем змінної. Він не змінює імені; він змінює те, як змінна поводиться і як її розв’язують. Найпоширеніші такі:
*— динамічна змінна, наприклад$*OUT, яку шукають через стек викликів?— компіляційне значення, надане компілятором, наприклад$?FILE,$?LINE!— приватний атрибут об’єкта, наприклад$!balance.— атрибут, до якого дістаються через його метод доступу, наприклад$.name
З кількома з них ви вже стикалися, не називаючи твіґіла:
$*OUT та $*IN (динамічні) і
$!/$. у частині про
об’єкти.
Змінні з ?, надані компілятором, заповнюються під час
компіляції вашої програми:
say $?LINE; # номер рядка цього оператора
say $?FILE; # шлях до цього файлу з вихідним кодомКожен твіґіл із першого погляду сигналізує про інший різновид
змінної, тож, читаючи $*foo, ви одразу знаєте, що вона
динамічна, а $?foo — що це компіляційна стала. Наступна
тема детально розглядає динамічні
змінні, бо вони поводяться зовсім не так, як лексичні змінні, якими
ви користувалися досі.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Спеціальні та динамічні змінні 🆕 | Тест — Твігіли →
💪 Або перейдіть одразу до вправ цього
розділу.