Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Прислівники / Вправи / Усі числа

Розв’язання: Усі числа

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

Код

my @numbers = 'x=5, y=10, z=15' ~~ m:g/\d+/;
say @numbers.map(*.Str).join('+');

🦋 Знайдіть програму у файлі all-numbers.raku.

Вивід

5+10+15

Коментарі

  1. \d+ зіставляється з цілою послідовністю цифр, а :g збирає кожну таку послідовність — тут це 5, 10 та 15.

  2. Кожен збіг є об’єктом збігу, тож .map(*.Str) перетворює їх на звичайні рядки, перш ніж з’єднати знаками +.

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

Усі числа   |   Підстановка та заміна