Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Наречия / Exercises / Все числа

Решение: Все числа

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

Код

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) превращает их в обычные строки, прежде чем соединить знаками +.

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

Все числа   |   Подстановка и замена