Курс языка программирования Raku / Продвинутый уровень / Контейнеры / Специальные и динамические переменные
Твигилы
Твигил — это символ, размещаемый между сигилом и именем переменной. Он не меняет имя, но меняет то, как переменная ведёт себя и как она разрешается. Наиболее распространённые твигилы:
*— динамическая переменная, например$*OUT, ищется по стеку вызовов?— значение времени компиляции, предоставленное компилятором, например$?FILE,$?LINE!— приватный атрибут объекта, например$!balance.— атрибут, доступный через метод-аксессор, например$.name
Вы уже встречали несколько из них, не называя твигилом:
$*OUT и $*IN (динамические), а также
$!/$. в части об
объектах.
Переменные компилятора с твигилом ? заполняются на этапе
компиляции вашей программы:
say $?LINE; # the line number of this statement
say $?FILE; # the path of this source fileКаждый твигил обозначает определённый вид переменной с первого
взгляда: увидев $*foo, вы сразу понимаете, что это
динамическая переменная, а $?foo — что это константа
времени компиляции. Следующая тема подробно рассматривает динамические
переменные, поскольку они ведут себя совершенно иначе, чем
лексические переменные, которые вы использовали до сих пор.
Практика
Пройдите 1 тест по содержанию этой темы.
Навигация по курсу
← Специальные и динамические переменные | Тест — Твигилы →
💪 Или перейдите сразу к упражнениям этого
раздела.