| Line 14: |
Line 14: |
| | end | | end |
| | end | | end |
| | + | |
| | + | function Iterator.equipmentById(context) |
| | + | local from = context and context.from and tonumber(context.from) or 1 |
| | + | local to = context and context.to and tonumber(context.to) or 500 |
| | + | local collection = require('Module:Collection/Equipment') |
| | + | local i = 1 |
| | + | local current |
| | + | return { |
| | + | next = function() |
| | + | for _ = i, #collection do |
| | + | if i >= from and i <= to then |
| | + | current = collection[i].name |
| | + | i = i + 1 |
| | + | return true |
| | + | end |
| | + | i = i + 1 |
| | + | end |
| | + | current = nil |
| | + | return false |
| | + | end, |
| | + | current = function() |
| | + | return current |
| | + | end, |
| | + | } |
| | + | end |
| | + | |
| | + | --[[ |
| | + | function Iterator.test() |
| | + | local iterator = Iterator.equipmentById({ from = "11", to = "20" }) |
| | + | while iterator.next() do |
| | + | mw.log(iterator.current()) |
| | + | end |
| | + | end |
| | + | -- p.test() |
| | + | ]]-- |
| | | | |
| | return Iterator | | return Iterator |