我在函数中使用隐式参数arg
时遇到问题。
代码不起作用。文件,http://www.lua.org/pil/5.2.html,应该有效。
function listar_um (...)
for i,v in ipairs(arg) do
print("usando args " .. arg[i])
end
end
listar_um("Olá", 1, "Dois")
此代码使用声明变量lista
。
function listar_um (...)
lista = {...}
for i,v in ipairs(lista) do
print("não usando args " .. lista[i])
end
end
listar_um("Olá", 1, "Dois")
为什么第一个例子不起作用?
测试脚本:http://www.codeshare.io/IPwRJ执行联机脚本:http://www.compileonline.com/execute_lua_online.php
谢谢。
PiL的第一版介绍了Lua 5.0。arg
的使用在Lua 5.0中可用,而自Lua 5.1 以来已删除
你可以在Lua 5.0参考手册中找到它,但在Lua 5.1参考手册中找不到。
在线翻译使用的版本是Lua 5.2,您可以通过print(_VERSION)
找到。
编辑:经过一些测试,arg
似乎在Lua 5.1中仍然可用,但在Lua 5.2中不起作用。