我在函数中使用隐式参数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
感谢。
答案 0 :(得分:4)
The first edition of PiL谈论Lua 5.0。在Lua 5.0中可以使用arg
,而自Lua 5.1以来它已被删除
您可以在Lua 5.0 reference manual中找到它,但不能在Lua 5.1 reference manual中找到它。
版本the online interpreter使用的是Lua 5.2,您可以通过print(_VERSION)
找到。
编辑:经过一些测试后,似乎arg
在Lua 5.1中仍然可用,但在Lua 5.2中无效。