當使用的Lua 5.2 API,下面打印「無」的代碼獲取ARG於在Lua 5.2 varag功能(集成在Delphi)工作
function __debug(szName, ...)
print(type(arg));
end
__debug("s", 1, 2, 3, 4);
但是這個代碼工作中使用的Lua 5.1時,並打印「表」
當使用的Lua 5.2 API,下面打印「無」的代碼獲取ARG於在Lua 5.2 varag功能(集成在Delphi)工作
function __debug(szName, ...)
print(type(arg));
end
__debug("s", 1, 2, 3, 4);
但是這個代碼工作中使用的Lua 5.1時,並打印「表」
:Lua 5.1 manual,unofficial LuaFaq
一個解決辦法是用這條線來產生的表中調用ARG。在Lua 5.2,你可以使用table.pack
創建arg
如果你需要它:
function debug(name, ...)
local arg = table.pack(...)
print(name)
for i=1,arg.n do
print(i, arg[i])
end
end
這是因爲arg
已被棄用,因爲Lua 5.1。它只作爲兼容性功能。
參考:如果你指的是可變參數的功能,arg
表was deprecated already in Lua 5.1
local arg={...}
感謝所有... – Samoongeer 2012-03-20 14:08:43