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) 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 値) を連結しようとしています。したがって、私の質問は、可変数の引数をテーブル キーとして渡すにはどうすればよいですか?

4

1 に答える 1

5

そのために使用する必要があります_table[x][y][v]_table[x][y].vです_table[x][y]["v"]

于 2013-07-15T14:59:09.153 に答える