首页 > 解决方案 > Lua 函数:如何使用表作为函数参数和自记录代码

问题描述

当我有接受许多参数的函数时,有时将单个表作为参数而不是许多局部变量传递是有用的。

function example_1(arg_one, arg_two, arg_three)
end

变成

function example_2(arg_table)
    arg_table.arg_one, arg_table.arg_two, arg_table.arg_three
end

问题是,当在代码的其他地方调用函数时,很难记住arg_table需要包含什么。许多编辑器有很多代码完成插件,它们可以帮助你记住example_1函数的参数,但不是example_2.

有没有办法以example_2仍然是表的方式编写带有表参数的函数,但也显示了函数内部的必要参数()

像这样的东西(不起作用):

function example_2(arg_table = {arg_one, arg_two, arg_three})

end

标签: lua

解决方案


像往常一样,用单独的参数编写您的形式参数列表和文档。然后记录如果第一个(也是唯一的)实际参数是一个表,则有效参数将从表中获取,使用形式参数名称作为字符串键。


推荐阅读