この初版は Lua 5.0 向けに書かれました。依然として後のバージョンに大幅に適合しますが、いくつかの相違点があります。
第 4 版は Lua 5.3 を対象にしており、Amazon や他の書店で購入できます。
この本を購入することで、Lua プロジェクトのサポートにも貢献できます。


14 – 環境

Lua はすべてのグローバル変数を、環境と呼ばれる通常のテーブル内に保持しています(正確には、Lua はグローバル変数を複数の環境に保持していますが、ここではその多様性を無視します)。この構造の利点の 1 つは、グローバル変数用のデータ構造は不要であるため、Lua の内部実装が簡略化されることです。もう 1 つの利点(実際には主な利点)は、このテーブルを他のテーブルと同じように操作できることです。このような操作を容易にするため、Lua は環境自体をグローバル変数 _G に格納します(はい、_G._G_G に等しいです)。たとえば、次のコードは現在の環境で定義されているすべてのグローバル変数の名前を出力します

    for n in pairs(_G) do print(n) end

この章では、環境を操作するいくつかの便利なテクニックを紹介します。