Module:LuaCall: Difference between revisions

From Test Wiki
Content deleted Content added
+iIterators*(), use local get(s) for p.call()/p.get()
optimize p.get()
Line 182: Line 182:
return get(frame.args[1])
return get(frame.args[1])
else
else
local args = {}
--local args = {}
local G = _G
for _, v in ipairs(frame.args) do
for _, v in ipairs(frame.args) do
table.insert(args, tonumber(v) or v:gsub("^\\", "", 1))
--table.insert(args, tonumber(v) or v:gsub("^\\", "", 1))
G = G[tonumber(v) or v:gsub("^\\", "", 1)]
end
local G = _G; for _, v in ipairs(args) do
G = G[v]
end
end
--local G = _G; for _, v in ipairs(args) do
-- G = G[v]
--end
return G
return G
end
end