Module:Scientific American volume issues

require('strict')

local p = {} --p stands for package

local getArgs = require('Module:Arguments').getArgs

local function pad_number(n, pad) n = tostring(n) return string.rep("0", pad - string.len(n)) .. n end

function p.scientific_american_volume_issues(frame) local args = getArgs(frame) local volume = tonumber(args.volume) or 1 local series = tonumber(args.series) or 1 local issues = tonumber(args.issues) or 52 local padded_volume = pad_number(volume, 3) local volume_list = {} for i = 1, issues do volume_list[i] = "* " .. i .. "" end return "'''Volume " .. volume .. " issues:''' " .. frame:expandTemplate { ['title'] = 'flatlist', ['args'] = {table.concat(volume_list, "\n")} } end

return p