如何在 lua 函数中允许两种不同格式的参数?

How to allow argument in two different formats in a lua function?

我有一个接受 table(多维数组)作为参数的函数。我想将其更改为接受多种格式的参数。

这是函数。

matrix.deter({{3,4,5},{2,4,6},{7,8,10}})

这很好用。但我想改变它甚至接受参数 as

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 的标记,只是因为您不喜欢它们的外观。 你得另辟蹊径。