12345678910111213141516171819202122 |
- #!/usr/bin/ruby
- class sma_generator(period, list=[], sum=0) {
- method SMA(number) {
- list.append(number)
- sum += number
- list.len > period && (
- sum -= list.shift;
- )
- return (sum / list.len)
- }
- }
- var ma3 = sma_generator(3)
- var ma5 = sma_generator(5)
- for num in (1..^6, 6^..1) {
- printf("Next number = %d, SMA_3 = %.3f, SMA_5 = %.1f\n",
- num, ma3.SMA(num), ma5.SMA(num))
- }
|