首页 文章

Lua将函数参数作为表键传递

提问于
浏览
2

我正在努力将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 = table我要传递,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'(一个零值) . 所以,我的问题是:如何将可变数量的参数作为表键传递?

1 回答

  • 4

    你需要使用 _table[x][y][v] . _table[x][y].v_table[x][y]["v"] .

相关问题