2016-12-31 22 views
3

テーブルに複数の戻り値を格納しようとしています。 GetStatus()は2つの値を返す関数です。テーブルに複数の戻り値を格納する方法

バグ記者は '='は '、'の近くにあると言います。私は、カンマがテーブル内の要素を区切るために使用されるため、これが起こると思います。

どうすれば解決できますか?ありがとうございました!

私のコードは以下の通りです:

local status = { 
     ["a"],["b"] = GetStatus(); 
    } 

答えて

2

テーブルコンストラクタは、実際にしませんそのような複数の割り当てをサポートします。最初にテーブルを作成してから割り当ててください。

+0

ありがとうございます。問題が解決しました。 – G1ooom

+0

喜んで助けてください、答えを受け入れることを忘れないでください。 – greatwolf

0

あなたはこのような複数の戻り値から直接テーブルを作成して割り当てることができます。

状態= table.pack(のGetStatus())

このステータス[1]、ステータス[2]などの結果を出力します。

文字列をキーにする必要がある場合は、

T = table.pack(のGetStatus()) ステータス= {[ ''] = Tは、[1]、[ 'B'] = T [2]}

+0

ありがとうございます。私はちょうどルアを使い始める。私はtable.methodとtable [key]と混同しています。私は彼らが違うことを知っています。しかし、なぜ私たちはある状況で別のものの代わりに1つを使用しますか? – G1ooom

関連する問題