Курс языка программирования Raku / Продвинутый уровень / Операторы / Метаоператоры / Exercises / Среднее значение массива
Решение: Среднее значение массива
Вот один из возможных вариантов решения задачи.
Код
my @data = 10, 20, 30, 40;
say ([+] @data) / @data.elems;🦋 Исходный код можно найти в файле sum-of-array.raku.
Вывод
25Комментарии
Метаоператор свёртки
[+]ставит оператор+между всеми элементами@data, поэтому[+] @dataравносильно10 + 20 + 30 + 40, то есть100. Скобки нужны для того, чтобы свёртка выполнилась раньше деления.Деление суммы на
@data.elems, число элементов, даёт среднее значение25. Если бы результат не делился нацело, Raku выдал бы точное значение типаRat, а не округлил его.