Averages/Simple moving average: Difference between revisions
m
→{{header|Sidef}}: code fixes
No edit summary |
m (→{{header|Sidef}}: code fixes) |
||
Line 3,127:
=={{header|Sidef}}==
Closure:
<lang ruby>func simple_moving_average(
var nums = [];▼
var sum = 0;▼
}.copy;▼
list.len > period && (
sum -= list.shift;
);
return (sum / list.length);
▲ }.copy;
}
Line 3,142 ⟶ 3,145:
var ma5 = simple_moving_average(5);
[(1 .
printf("Next number = %d, SMA_3 = %.3f, SMA_5 = %.1f\n",
num, ma3.call(num), ma5.call(num));
Line 3,150 ⟶ 3,153:
<lang ruby>class sma_generator(period) {
method SMA(number) {
self
self.sum
self
self.sum
);
return (self
}
}
Line 3,166 ⟶ 3,169:
var ma5 = sma_generator(5);
[(1 .
printf("Next number = %d, SMA_3 = %.3f, SMA_5 = %.1f\n",
num, ma3.SMA(num), ma5.SMA(num));
|