- 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
- 有任何意见、建议、求助、反馈都可以在 讨论板 提出
- THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正
模块:libargs
跳到导航
跳到搜索
[创建]
模块文档
local libargs = {}
function libargs.namedDict(args,names)
local n = {}
for i = 1, #names do
n[names[i]] = args[names[i]]
end
return n
end
function libargs.namedList(args,names)
local n = {}
for i = 1, #names do
n:insert(args[names[i]])
end
return n
end
function libargs.strip(str)
str = mw.text.trim(str)
return str
end
function libargs.inject(func, args, limit)
if (limit == nil) then
return func(unpack(args))
end
limit = tonumber(limit)
local newArgs = {}
for i=1, #args do
newArgs[i] = args[i]
if (i > limit) then
break
end
end
return func(unpack(newArgs))
end
function libargs.typed(oriArgs, typeDefs)
local typedArgs = {}
for i = 1, #typeDefs do
local typeDef = typeDefs[i]
if (typeDef == "str") then
typedArgs[i] = libargs.strip(tostring(oriArgs[i]))
elseif (typeDef == "int") then
typedArgs[i] = tonumber(oriArgs[i])
else
typedArgs[i] = oriArgs[i]
end
end
return typedArgs
end
return libargs