string - 如何在lua函数中允许两种不同格式的参数?
问题描述
我有一个接受表(多维数组)作为参数的函数。我想将其更改为接受多种格式的参数。
这是功能。
matrix.deter({{3,4,5},{2,4,6},{7,8,10}})
这工作正常。但我想改变它甚至接受这个论点
matrix.deter({(3,4,5),(2,4,6),(7,8,10)})
所以以下两个都会给出相同的输出。
matrix.deter({{3,4,5},{2,4,6},{7,8,10}})
matrix.deter({(3,4,5),(2,4,6),(7,8,10)})
换句话说,内部数组在圆括号中而不是花括号中。是否有可能做到这一点?
解决方案
你可以使用一个函数。
local function m(...) return {...} end
matrix.deter(m(3,4,5), m(2,4,6), m(7,8,10))
或者一个字符串
matrix.deter({"(3,4,5)", "(2,4,6)", "(7,8,10)"})
如果您使用的是数字列表,那么两者都没有多大意义。
你不能仅仅因为你不喜欢它们的外观就改变 Lua 的标记。你必须找到另一种方法。
推荐阅读
- java - 如何防止Java中的数组重复选择
- android - 正确销毁 WebView 时的 Kotlin 1.5.0 NPE
- javascript - 在 index.html 文件中初始化 firebase,但 index.js 会抛出 ReferenceError
- jenkins - 当文件明显存在时,为什么 Jenkins 构建的后期阶段失败并显示“没有这样的文件或目录”?
- .net - 无法创建 POS 打印机实例
- python - Flask/Jinja:如何评估嵌套花括号中的表达式?
- android - 无法使用显式ApiWarning() 显示警告或错误
- .net - 将重复字段转换为列表
- javascript - 如何根据颜色获取总数量大小并添加列总计
- python - 音频;音频流数据转换为 mfcc