我正在将 Lua 表的内容导出到 HTML 文件,以便可以在浏览器中显示内容。现在我在将函数参数作为表键传递时遇到问题。
我有一个这样的稀疏表:
map = {}
for x = 1, 20 do
map[x] = {}
for y = 1, 20 do
map[x][y] = {}
map[x][y].node = math.random(1,20)
map[x][y].image = "path/to/image.png"
end
end
我将表传递给我的函数:htmParser:_dumpSparseToHTML(map, 20, 20) 其中 map = 我要传递的表,20,20 = 数组的宽度和高度。在 _dumpSparseToHTML 的某个地方,我将 v.node 和 v.image 的值写入文件。在不知道表中键名的情况下如何处理完全相同的事情?例如 map 可以包含 map[x][y].value、map[x][y].gfx、map[x][y].nodeType,我想将它们作为 htmParser:_dumpSparseToHTML(map, 20 , 20, value, gfx, nodeType 等)。
我知道 Lua 可以通过将函数定义为:_dumpSparseToHTML(map, 20, 20, ...) 来处理可变数量的参数。我尝试执行以下操作:
--_table = map
for i,v in ipairs(arg) do
file:write("<td>".._table[x][y].v.."</td>)
end
我得到的错误是:“尝试连接字段'v'(一个零值)。所以,我的问题是:如何将可变数量的参数作为表键传递?