Module:LuaCall: Difference between revisions

From Test Wiki
Content deleted Content added
NaN is another var, which is nil. tonumber('0') is conditionally true
+import(o) modified from https://en.wikipedia.org/wiki/Module:Ustring?oldid=885619921
Line 41: Line 41:
end
end
end
end

function p.import(o)
local p = {}

for k, v in pairs(o) do
p[k] = function(frame)
local args = frame.args
for _, v in ipairs(args) do
args[_] = tonumber(v) or v:gsub("^\\", "", 1)
end
if args.tag then
local tag = {name = args.tag, content = o[k](unpack(args)), args = {}}
for x, y in pairs(args) do
if type(x)~='number' and x~='tag' then tag.args[x] = y end
end
return frame:extensionTag(tag)
end
return (o[k](unpack(args)))
end
end

return p
end

return p
return p