如何在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)})

换句话说,内部的数组是在圆括号而不是花括号中。这个是否可能做到?

点赞
用户2858170
用户2858170

你可以使用一个函数。

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的标记,就因为你不喜欢它们的外观。 你需要找到另一个方法。

2019-07-24 06:31:54