Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Наречия / Exercises / Все числа
Решение: Все числа
Вот один из возможных вариантов решения задачи.
Код
my @numbers = 'x=5, y=10, z=15' ~~ m:g/\d+/;
say @numbers.map(*.Str).join('+');🦋 Исходный код можно найти в файле all-numbers.raku.
Вывод
5+10+15Комментарии
\d+сопоставляет целую вереницу цифр, а:gсобирает все такие вереницы — здесь5,10и15.Каждое совпадение является объектом совпадения, поэтому
.map(*.Str)превращает их в обычные строки, прежде чем соединить знаками+.