0

私はテーブルを持っていますlogTable = {["cdm"] = "log text", ["data_engine"] = "log text"}

コード:

for k,v in pairs(logTable) do
    print(v["cdm"]) end

望ましい結果が得られます: ログテキスト

でも

print(logTable["cdm"])

何も返しません。ここで何が間違っていますか?

編集:

だから、これは実際に私がテーブルを作っている方法です:

table.insert(logTable, { [probeName] = file.read('export/'..robotName..'/probes/'..probeGroup..'/'..probeName..'/'..probeName..'.log')})    

probeName は変数ですが["probeName"]、文字列にする必要があるのでしょうか? ただし、これは変数ではなくリテラルとして受け取りますか?

変数をテーブルのインデックス/キーとして使用するにはどうすればよいですか

4

1 に答える 1

1

ここでは実際にテーブルのにテーブルがあるので、テーブルは次のようになります。

{
    { 
      ["cdm"] = "log text",
      ["data engine"] = "log text"
    }
}

print(logTable["cdm"])それがあなたがうまくいかない理由です。table.insertまた、数値インデックス テーブルで使用することも意図されています。今回は、辞書の構文がより明確になりました。

logTable["probeName"] = file.read('export/'..robotName..
                                  '/probes/'..probeGroup..'/'
                                  ..probeName..'/'..probeName..'.log')
于 2012-07-06T09:59:49.813 に答える