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 |
||