1. ホーム
  2. スクリプト・コラム
  3. ルア

Luaで変数を説明する

2022-02-11 14:34:04

 変数は、操作可能な領域アイテムに格納された名前に他なりません。関数やテーブルなど、さまざまなタイプの値を保持することができます。

変数名には、アルファベット、数字、アンダースコアを使用することができます。アルファベットかアンダースコアのどちらかでなければならない。Luaは大文字と小文字を区別するので、大文字と小文字は別です。Luaの値の種類は基本的に8種類です。

Luaでは、変数のデータ型はありませんが、その変数のスコープに応じた3つのタイプがあります。

  •     グローバル変数。明示的にローカルと宣言されない限り、すべての変数はデフォルトでグローバルです。
  •     ローカル変数。型がローカルと指定された場合、変数はそのスコープ内で使用するように制限されます。
  •     テーブルフィールド。これは特殊なタイプの変数で、関数を含めてnil以外何も入れることができない。

Luaの変数定義において。

変数の定義とは、保存された変数をどこでどれだけ作成するかをインタプリタに伝えることです。変数は、以下のように、オプションの型と、その型を含む1つ以上の変数のリストで定義されます。

コピーコード コードは以下の通りです。
type variable_list;

型がオプションでローカル、またはグローバルにするためにnor型が指定されている場合、variable_listはカンマで区切られた1つ以上の識別子名を含むことができます。いくつかの有効な宣言は以下の通りである。

コピーコード コードは以下の通りです。
local i, j
local i
local a,c

同じ行のlocal i, jは、いずれも変数iとjを宣言・定義しています。これは、i, jという名前の変数を作るようにインタープリターに指示し、制限のスコープはローカルです。

変数は宣言によって初期化(初期値を割り当てる)することができる。初期化は、次のように定数式の後に等号を付けて構成される。

コピーコード コードは以下の通りです。
type variable_list = value_list;

いくつかの例を挙げます。

コピーコード コードは以下の通りです。
local d , f = 5 ,10 --declaration of d and f as local variables.
d , f = 5, 10; --declaration of d and f as global variables.
d, f = 10 --[[declaration of d and f as global variables.
                        Here value of f is nil --]]

初期化されていない定義の場合:静的ストレージ変数が暗黙のうちにnilに初期化されるようにする。
Luaで変数を宣言するには。

上の例でわかるように、複数の変数を代入する場合は variable_list と value list の書式に従います。上の例では、local d , f = 5 ,10 で、dとfの値リスト variable_list は、5と10です。

Luaの値設定は、最初の値でvariable_list、最初の変数値テーブルのように起こります。つまり、dの値は5で、fの値は10です。

次の例では、変数はすべて上記のように宣言され、main 関数ですでに特定され、初期化されています。

コピーコード コードは以下の通りです。

-- Variable definition:
local a, b
-- Initialization
a = 10
b = 30

print("value of a:", a)

print("value of b:", b)

-- Swapping of variables
b, a = a, b
print("value of a:", a)

print("value of b:", b)

f = 70.0/3.0
print("value of f", f)

上記のコードをビルドして実行すると、以下のような結果になります。

コピーコード コードは以下の通りです。
value of a: 10
value of b: 30
value of a: 30
value of b: 10
value of f 23.33333333333333

Luaの左値と右値。

Luaでは、2種類の式があります。

  1.     左値。メモリ上の位置を参照する式をquot;left-valued"式と呼びます。左値は、左側にも右側にも現れることがある。
  2.     右の値。右値とは、メモリ上のあるアドレスに格納されているデータの値を指す。右値は、代入できない値である。つまり、右値は式の左辺ではなく、代入の右辺に出現することがある。

変数は左値であるため、代入の左側に表示されることがあります。数値テキストは右値であるため、代入できない可能性のある代入の左側には表示されない。以下は、有効な文である。

コピーコード コードは以下の通りです。
g = 20

しかし、以下は有効な宣言ではないので、コンパイル時エラーが発生します。

コピーコード コードは以下の通りです。
10 = 20

プログラミング言語Luaでは、上記のような代入の他に、同じ1つの文の中に複数のleft値とright値が存在することができますので。以下にそれを示します。

コピーコード コードは以下の通りです。
g,l = 20,30

上の文では、20がgに、30がlに割り当てられています。