Lua では、次の方法でテーブルを作成できます。
local t = { 1, 2, 3, 4, 5 }
ただし、連想テーブルを作成したい場合は、次の方法で行う必要があります。
local t = {}
t['foo'] = 1
t['bar'] = 2
以下はエラーになります:
local t = { 'foo' = 1, 'bar' = 2 }
私の最初のコードスニペットと同様にそれを行う方法はありますか?
Lua では、次の方法でテーブルを作成できます。
local t = { 1, 2, 3, 4, 5 }
ただし、連想テーブルを作成したい場合は、次の方法で行う必要があります。
local t = {}
t['foo'] = 1
t['bar'] = 2
以下はエラーになります:
local t = { 'foo' = 1, 'bar' = 2 }
私の最初のコードスニペットと同様にそれを行う方法はありますか?
これを書く正しい方法は次のいずれかです
local t = { foo = 1, bar = 2}
または、テーブル内のキーが有効な識別子でない場合:
local t = { ["one key"] = 1, ["another key"] = 2}
このように見れば、もう少しうまく機能し、理解しやすいと思います
local tablename = {["key"]="value",
["key1"]="value",
...}
結果の検索: tablename.key=value
辞書としての表
テーブルは、配列と同様に、数値または順番にインデックス付けされていない情報を格納するためにも使用できます。これらのストレージ タイプは、ディクショナリ、連想配列、ハッシュ、またはマッピング タイプと呼ばれることもあります。要素のペアがキーと値を持つ辞書という用語を使用します。キーは、関連付けられた値を設定および取得するために使用されます。配列と同様に、 table[key] = value 形式を使用して要素をテーブルに挿入できることに注意してください。キーは数値である必要はありません。文字列でもかまいません。さらに言えば、他のほぼすべての Lua オブジェクト (nil または 0/0 を除く) でもかまいません。いくつかのキーと値のペアを含むテーブルを作成しましょう。
> t = { apple="green", orange="orange", banana="yellow" } > for k,v in pairs(t) do print(k,v) end apple green orange orange banana yellow
文字列値と一致する文字列キーを持つ連想配列を初期化するには、使用する必要があります
local petFamilies = {["Bat"]="Cunning",["Bear"]="Tenacity"};
しかしそうではない
local petFamilies = {["Bat"]=["Cunning"],["Bear"]=["Tenacity"]};