Lua 函数 : how to use tables as function arguments and self-document the code

标签 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 函数 : how to use tables as function arguments and self-document the code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57792137/

相关文章:

c - 使用其 C API 恢复 Lua 脚本

lua - 如何在 lua 中创建 tmp 文件夹?

c++ - 如何将 lua 脚本语言包含到 C++ XCode 中?

lua - 在 hammerspoon 中粘贴 hs.chooser 中的文本

python - 有关获取 aerospike 集中记录总数的说明?是否需要 Lua 脚本?

scripting - 什么时候用像Lua这样的嵌入式脚本语言好

error-handling - 在 Lua 中获取 'clear' 错误消息

lua - Lua协程错误: tempt to yield across metamethod/C-call boundary

windows - lua套接字客户端

performance - 创建 Lua 函数的本地副本有任何性能值(value)吗?