-1

Luaがそのような曖昧さをどのように解決するかを誰かが説明できますか?グローバルを定義してx = 10から実行できlocal x = xます。 そのような状況が通訳によってどのように扱われるかは、文書からは明らかではありません。編集:それは明らかです、私は間違ったセクションを見ていました。泣かないで。

観察から、ローカル割り当てに続くブロック内で、ラベルxはローカルを参照していると想定されるようです。

前もって感謝します。

4

1 に答える 1

0

ドキュメントはこれを明確に説明しています。

識別子は常に、最も内側の使用可能なスコープから始めて、ローカルに対して最初にチェックされます。表示されているローカル変数を参照していない場合は、グローバル変数を参照しています。

についてlocal x = xは、ローカル変数のスコープは、それを評価するすべての式の評価後に開始されます。したがって、最初xに(既存の可視性を使用して)評価され、その結果、の値が得られますx。次に、この値は、と呼ばれる新しく定義されたローカル変数に設定されますx

于 2013-03-25T00:56:42.623 に答える