Курс Raku / Основи / Основи змінних і типів даних / Рядки

Інтерполяція змінних

Чи помітили ви вже в попередніх розділах, що іноді рядки були взяті в одинарні, а іноді в подвійні лапки? Різниця є суттєвою.

Звичайно, ви можете використовувати подвійні лапки, якщо хочете вставити одинарну лапку всередину рядка з мінімальними зусиллями:

say "O'Henry";

До речі, все ж краще використовувати правильний апостроф замість одинарної лапки, оскільки Raku добре працює з Unicode.

say 'O’Henry';

Але справжня сила подвійних лапок полягає в їх здатності інтерполювати змінні і—як ми скоро побачимо—виконувати код! Розглянемо наступну програму:

my $name = 'Karl';
say "Hello, $name!";

Як ви могли очікувати, програма виводить Hello, Karl!. Ім’я змінної $name (разом з її сигілом $) було замінено на значення змінної.

Змінна була інтерпольована зі значенням, яке змінна мала на момент інтерполяції, тому якщо ви зміните вміст $name і знову інтерполюєте його, буде підставлено нове значення. Давайте перевіримо це:

my $name = 'Karl';
say "Hello, $name!";

$name = 'Anna';
say "Hello, $name!";

Той самий рядок генерує різні повідомлення цього разу:

Hello, Karl!
Hello, Anna!

Практика

Виконайте 1 тест за змістом цієї теми.

Навігація курсом

Тест 3: Конкатенація рядків знову   |   Тест: Інтерполяція рядків


💪 Або перейдіть одразу до вправ цього розділу.