2

luaにいくつかのデータを含むテーブルがあります。

sometable = { 
    {name = "bob", something = "foo"},
    {name = "greg", something = "bar"}
}

次に、テーブルをループして、変数として各名前に番号を割り当てます。luaは初めてで、このように試しました。

for i,t in ipairs(sometable) do
    t.name = i
end

次に、print( "name1"、bob)でname1=1になると想定していました。現在nilになっています。だから私は、ある種の魂が私がどのように馬鹿であるかを教えてくれるまで、私の醜い静的変数のリストに戻ります。

4

2 に答える 2

4
> sometable = {{name = "bob", something = "foo"},{name = "greg", something = "bar"}}
> for i,t in ipairs(sometable) do t[t.name] = i end
> for i,t in ipairs(sometable) do for j,u in pairs (t) do print (j,u) end end      
name  bob
something foo
bob   1
greg  2
something bar
name  greg
> return sometable[1].bob
1>
于 2008-11-08T00:46:06.667 に答える
-1

ipairs関数は、数値でインデックス付けされたテーブルを昇順でのみ反復します。

使用したいのはペア関数です。タイプに関係なく、テーブル内のすべてのキーを繰り返し処理します。

于 2008-11-07T07:06:48.050 に答える