Lua で連想テーブルを素早く初期化するにはどうすればよいですか?
-
21-08-2019 - |
質問
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 =値の
辞書としてテーブル
表も索引付けされていない情報を格納するために使用することができます アレイと同様に数値的に、または連続的に、。これらのストレージタイプは、 時々呼ばれる辞書、連想配列、ハッシュ、またはマッピング タイプ。私たちは、素子対がキーを持っている用語辞書を使用します そして、値。キーが設定され、関連する値を取得するために使用されます それと。ただ配列のように、我々は、テーブルを使用できることに注意してください[キー] =値 テーブルに要素を挿入するためのフォーマット。キーは、番号である必要はなく、 それは、文字列、またはそのことについては、ほぼすべての他のLuaオブジェクトにすることができます (ゼロまたは0/0を除きます)。のは、いくつかのキーと値を持つテーブルを作成してみましょう これでペアます:
T = {リンゴ、オレンジ= "オレンジ" = "グリーン" バナナ= "黄色"} kについて、ペアでのV(t)は(K、V)黄色エンドアップルグリーン、オレンジ、オレンジ、バナナ
印刷を行います
文字列値と一致する文字列キーを持つ連想配列を初期化するには、次を使用する必要があります。
local petFamilies = {["Bat"]="Cunning",["Bear"]="Tenacity"};
しかし ない
local petFamilies = {["Bat"]=["Cunning"],["Bear"]=["Tenacity"]};