Module:LuaCall: Difference between revisions

From Test Wiki
Content deleted Content added
re-factoring
re-factoring
Line 42: Line 42:
end
end


local function callWithTonumberOrStringOnPairs(f, ...)
local function pairs2ArrayWithFunc(f, ...)
local args = {}
local args = {}
for _, v in ... do
for _, v in ... do
table.insert(args, tonumberOrString(v))
table.insert(args, f(v))
end
end
return (f(unpack(args)))
return args
end
end


Line 106: Line 106:
--]]
--]]
function p.call(frame)
function p.call(frame)
return callWithTonumberOrStringOnPairs(get(frame.args[1]),
return get(frame.args[1])(
ipairsAtOffset(frame.args, 1)
unpack(pairs2ArrayWithFunc(tonumberOrString, ipairsAtOffset(frame.args, 1)))
)
)
end
end