RosettaCodeData/Task/Averages-Simple-moving-average/Perl-6/averages-simple-moving-average.pl6
2018-06-22 20:57:24 +00:00

14 lines
266 B
Raku

sub sma-generator (Int $P where * > 0) {
sub ($x) {
state @a = 0 xx $P;
@a.push($x).shift;
@a.sum / $P;
}
}
# Usage:
my &sma = sma-generator 3;
for 1, 2, 3, 2, 7 {
printf "append $_ --> sma = %.2f (with period 3)\n", sma $_;
}