Module:Sandbox/Outrowed

Jump to navigation Jump to search
Documentation[create] [refresh]
This module has no documentation. If you know how to use this module, please create it.
local p = {}

local function get_table_size(a_table)
	local count = 0
	
	for _, _ in pairs(a_table) do
		count = count + 1
	end

	return count
end

local function get_auto_args(frame)
	local parent_args = frame:getParent().args
	if get_table_size(parent_args) > 0 then
		return parent_args
	else
		return frame.args
	end
end

function p.main(frame)
	local args = get_auto_args(frame)
    local out = "Table length: " .. get_table_size(args) .. "<br>Index pairs:"

    -- index pairs
    for index, value in ipairs(args) do
        out = out .. "<br>(" .. index .. ") " .. value
    end

    out = out .. "<br>Key-value pairs:"

    -- key-value pairs
    for key, value in pairs(args) do
        out = out .. "<br>(" .. key .. ") " .. value
    end

    return out
end

return p