math

Documentation for this module may be created at Module:NumberList/doc

local p = {}

local function pageExists(title)
    local success = mw.title.new(title).exists
    return success
end

function p.numberTable(frame)
    local startNum = tonumber(frame.args[1])
    local endNum = tonumber(frame.args[2])
    local columns = tonumber(frame.args[3])
    local result = {}
    for i = startNum, endNum do
        if (i - startNum) % columns == 0 then
            table.insert(result, '|-')
        end

        if pageExists(tostring(i)) then
            table.insert(result, string.format('| [[%s_(number)|%s]]', i, i))
        else
            table.insert(result, string.format('| [[%s_(number)|%s]]', i, i))
        end
    end
    return table.concat(result, '\n')
end

return p