文書の出典
- 出典
- Lua 5.5.1 Documentation
- 上流バージョン
- Lua 5.5.1
- 文書状態
- 翻訳
3.2 – 変数
変数は値を格納する場所である。Luaには、グローバル変数、ローカル変数、テーブルフィールドの3種類の変数がある。
単一の名前は、グローバル変数またはローカル変数(あるいは、ローカル変数の一種である関数の仮引数)を表せる(§2.2を参照)。
var ::= NameNameは識別子を表す(§3.1を参照)。
変数はレキシカルスコープを持つため、ローカル変数のスコープ内で定義された関数は、そのローカル変数へ自由にアクセスできる(§2.2を参照)。
変数へ最初に代入する前、その値はnilである。
テーブルのインデックス指定には角括弧を使用する。
var ::= prefixexp ‘[’ exp ‘]’テーブルフィールドへのアクセスの意味は、メタテーブルを介して変更できる(§2.4を参照)。
構文var.Nameは、単にvar["Name"]の構文糖である。
var ::= prefixexp ‘.’ Nameグローバル変数xへのアクセスは、_ENV.xと等価である。