函数中的参数隐式"arg"在 Lua 中不起作用



我在函数中使用隐式参数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中不起作用。

最新更新