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

Розв’язання: Замаскуйте цифри

Ось одне з можливих розв’язань задачі.

Код

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///, оригінал залишився недоторканим.

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

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