Курс языка программирования Raku / Приложение 🆕 / Типы и текстовые машины / Регулярные выражения и грамматики / Exercises / Извлеките и просуммируйте числа
Решение: Извлеките и просуммируйте числа
Вот один из возможных вариантов решения задачи.
Код
my $text = 'order 12 apples, 3 pears and 25 plums';
my @numbers = $text.comb(/\d+/);
say "numbers: @numbers[]";
say "sum: { [+] @numbers }";🦋 Исходный код можно найти в файле extract-numbers.raku.
Вывод
numbers: 12 3 25
sum: 40Комментарии
Переданное в
.combрегулярное выражение/\d+/возвращает каждую цепочку цифр отдельной строкой, не обращая внимания на слова между ними.[+] @numbersскладывает их, попутно превращая строки из цифр в числа.
Навигация по курсу
← Извлеките и просуммируйте числа | Разберите дату именованными захватами →