Курс Raku / Розширені / Докладніше про вбудовані типи / Конструкції квотування 🆕
q, qq та Q
Існує три базові оператори цитування, які різняться тим, наскільки вони обробляють текст усередині:
q— як одинарні лапки: майже все буквальнеqq— як подвійні лапки: змінні та екрановані послідовності інтерполюютьсяQ— найбуквальніший з усіх: нічого не обробляється
Кожен бере текст між парою роздільників. Знайоме '…' є
скороченням для q, а "…" — для
qq:
my $name = 'Anna';
say q{Hello $name}; # Hello $name
say qq{Hello $name}; # Hello Annaq залишає $name недоторканим;
qq його інтерполює. Екрановані послідовності на кшталт
\n поводяться так само: лише qq (і
"…") перетворює \n на справжній перехід рядка,
тоді як і q, і Q залишають його як два символи
\ та n:
say qq{line\nbreak}; # line<новий рядок>break
say q{line\nbreak}; # line\nbreak
say Q{line\nbreak}; # line\nbreakТо чим же різняться q та Q? q,
як і одинарні лапки, все ж обробляє невеликий набір екранованих
послідовностей: подвоєна зворотна коса риска \\ стає
однією, а закривальний роздільник можна екранувати, — тоді як проста
форма Q не обробляє нічого взагалі:
say q{a\\b}; # a\b — q згортає екрановану зворотну косу риску
say Q{a\\b}; # a\\b — Q зберігає обидва символиВи можете обрати будь-які роздільники — q{…},
q[…], q/…/, q!…!, — що стає в
пригоді, коли сам текст містить лапки. Ці три оператори є основою;
наступна тема показує, як наріччя дозволяють
добирати саме ті можливості, які мають бути ввімкнені.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Конструкції квотування 🆕 | Тест — Квотування →
💪 Або перейдіть одразу до вправ цього розділу.