Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Подстановка и замена / Exercises / Замаскируйте цифры

Решение: Замаскируйте цифры

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

Код

my $orig = 'PIN 1234';
say S:g/\d/#/ given $orig;
say $orig;

🦋 Исходный код можно найти в файле mask-digits.raku.

Вывод

PIN ####
PIN 1234

Комментарии

  1. Оператор S/// с заглавной буквы делает ту же работу, что и s///, но возвращает новую строку вместо изменения переменной на месте. С :g он заменяет в возвращаемой копии каждую цифру \d на #. К $orig он применяется через given, который делает строку темой.

  2. Печать $orig после этого показывает, что там по-прежнему PIN 1234: в отличие от s///, оригинал остался нетронутым.

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

Замаскируйте цифры   |   Грамматики