Module:LuaCall: Difference between revisions
From Test Wiki
Content deleted Content added
+call_n() |
+call(s, args, ret) |
||
| Line 79: | Line 79: | ||
end |
end |
||
return G |
return G |
||
end |
|||
function call(s, args, ret) |
|||
if ret then |
|||
| ⚫ | |||
end |
|||
return get(s)(unpack(args)) |
|||
end |
end |
||
| Line 106: | Line 113: | ||
--]] |
--]] |
||
function p.call(frame) |
function p.call(frame) |
||
-- enclosing result in (), so that it will return only 1st element of result |
|||
| ⚫ | |||
return (get(frame.args[1])( |
|||
unpack(pairs2ArrayWithFunc(tonumberOrString, ipairsAtOffset(frame.args, 1))) |
unpack(pairs2ArrayWithFunc(tonumberOrString, ipairsAtOffset(frame.args, 1))) |
||
) |
)) |
||
end |
end |
||
--[[ |
--[[ |
||
| Line 120: | Line 127: | ||
--]] |
--]] |
||
function p.call_n(frame) |
function p.call_n(frame) |
||
return get(frame.args[1])( |
return (get(frame.args[1])( |
||
unpack(pairs2ArrayWithFunc(tonumber, ipairsAtOffset(frame.args, 1))) |
unpack(pairs2ArrayWithFunc(tonumber, ipairsAtOffset(frame.args, 1))) |
||
) |
)) |
||
end |
end |
||
| Line 134: | Line 141: | ||
function p.call_s(frame) |
function p.call_s(frame) |
||
-- unpack() not work on metatable |
-- unpack() not work on metatable |
||
--return get(frame.args[1])(unpack(frame.args, 2)) |
--return (get(frame.args[1])(unpack(frame.args, 2))) |
||
return get(frame.args[1])( |
return (get(frame.args[1])( |
||
unpack(pairs2Array(ipairsAtOffset(frame.args, 1))) |
unpack(pairs2Array(ipairsAtOffset(frame.args, 1))) |
||
) |
)) |
||
end |
end |
||