2012-04-25 11 views
4

スクリプトを実行しようとすると、変数割り当てに戻るときにエラーが発生します。私は何度も構文を再確認しましたが、私がそこで作った間違いではないようです。たとえ他​​の人にもそれを見せてもらえました。しかし、返されるエラーによって構文がわかりますが、この問題の解決策を見つけることはできません。"'}' near '='"そうでなければ完全に表示される行にエラーが表示されます

function registerquestlines() 
     if player["testline"] == nil then 
      player["testline"] = {"prog" = {true,false,false}, "quests" = {"testline1", "testline2", "testline3"}, "prog#" = 1} 
     end 
    end 

繰り返しますが、私が手にエラーがある:ここで

は全体の面倒機能である「}」私はプレーヤー[「testline」]に値を代入するライン上の「=」の近くに期待。

答えて

6

テーブル初期化子は、引用符で囲まれていない名前または括弧で囲まれた式のどちらかを使用します。

{prog = {true,false,false}} 
{["prog"] = {true,false,false}} 
+0

ありがとうございました。ありがとうございました。ありがとうございました。ありがとうございました。より有用なエラーメッセージもありがたいことです。私はあなたの助けに感謝します。 – Ijwu

+2

Luaのコンパクトさには価格が付いています。構文エラーを扱うことができません。なぜなら、パーサを大きくしたり、遅くしたりする可能性があるからです。 – geekosaur

+0

メッセージはクリアです。 '' prog''はテーブルの最後のエントリ(位置1)であると期待しています。なぜなら、 '' prog "'の後には '}'や '、'だけが来るからです。 ''、 ''と言われたかもしれないが、もっと明確になるだろうか? – lhf