模块:SortArgs

来自维阿百科
霓虹灯鱼讨论 | 贡献2022年7月8日 (五) 21:15的版本 (导入1个版本)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

此模块的文档可以在模块:SortArgs/doc创建

local module = {}
 
function module.sortedArgs(args, sort_ref, ref_sep)
	local args_dump = {}
	sort_ref = mw.text.split(sort_ref, ref_sep, false)
	if #sort_ref then table.remove(sort_ref, #sort_ref) end
	for idx, key in ipairs(sort_ref) do
		args_dump[idx] = { key, args[key] or args[tonumber(key)] }
	end
	local index = 0
	return function ()
		index = index + 1
		if not args_dump[index] then
			index = 0
			return nil
		end
		return unpack(args_dump[index])
	end
end
 
return module