Function lua函数调用中的参数名称

Function lua函数调用中的参数名称,function,lua,arguments,Function,Lua,Arguments,我正在寻找一种更愉快的方法,在调用函数时添加参数名 比这两者都好的东西 local ret = foo( --[[argNam1 =]] true) local ret = foo( true ) -- first argument is argName1 我试过了 local ret = foo( argNam1 = true) 但我犯了个错误 ')' expected near '=' 如果需要,可以使用命名参数。Lua表很适合模仿这种行为。因此,不是传递所有由逗号分隔的参数,而

我正在寻找一种更愉快的方法,在调用函数时添加参数名

比这两者都好的东西

local ret =  foo( --[[argNam1 =]] true)
local ret =  foo( true ) -- first argument is argName1
我试过了

local ret =  foo( argNam1 = true)
但我犯了个错误

')' expected near '='

如果需要,可以使用命名参数。Lua表很适合模仿这种行为。因此,不是传递所有由逗号分隔的参数,而是传递单个表对象;已命名为密钥的

如果这是您的
foo()
函数:

local foo(parameters)
    print(parameters.argNam1)
end
然后你可以这样称呼它:
localret=foo{argNam1=true}
或者这样称呼它:

local arguments = {
    argNam1 = true,
    argNam2 = "foobar"
}
local ret = foo(arguments)

如果
foo
定义如下:
function foo(t)local argNam1=t.argNam1;,则可以使用
local ret=foo{argNam1=true}
。。。结束
@EgorSkriptunoff,这是一个很酷的把戏。谢谢