Курс по 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) ги превръща в обикновени низове, преди да бъдат свързани с +.

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

Всички числа   |   Заместване и замяна