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) where map = table, 20,20 = width and height of array. _dumpSparseToHTML のどこかに v.node と v.image の値をファイルに書き込みます。テーブル内のキーの名前を知らなくても、まったく同じことを処理するにはどうすればよいですか? たとえば、マップには map[x][y].value、map[x][y].gfx、map[x][y].nodeType を含めることができ、それらを htmParser:_dumpSparseToHTML(map, 20 、20、値、gfx、nodeType など)。
関数を _dumpSparseToHTML(map, 20, 20, ...) のように定義することで、Lua が可変数の引数を処理できることを私は知っています。私は次のことをしようとしました:
--_table = map
for i,v in ipairs(arg) do
file:write("<td>".._table[x][y].v.."</td>)
end
私が得るエラーは次のとおりです。「フィールド 'v' (nil 値) を連結しようとしています。したがって、私の質問は、可変数の引数をテーブル キーとして渡すにはどうすればよいですか?