Lua local変数のサンプル

目次

 

変数にlocalを使用しない場合

function test()
    a = 10  -- グローバル変数
    print(a)
end

test()  -- 10
print(a)  -- 10(関数の外からも参照可能)

2行目は、グローバル変数になります。
6行目は、関数が実行され10が表示されます。
7行目も、関数内の変数aが参照できるので10が表示されます。

 

変数にlocalを使用する場合

function test()
    local a = 10  -- ローカル変数
    print(a)
end

test()  -- 10
print(a)  -- nil(関数の外からは参照不可)

2行目は、グローバル変数です。
6行目は、関数が実行され10が表示されます。
7行目も、関数内の変数aが参照できないのでnilが表示されます。

 

ループ文でlocalを使用する場合

ループ文でlocalを使用する場合もローカル変数になります。

for i = 1, 3 do
  local a = i * 2  -- ローカル変数
  print(a) -- 2 4 6
end

print(a)  -- nil(ループ外からは参照できない)

 

まとめ

関数や一時的な変数では、すべてlocalにします。

関連の記事

Lua 関数のサンプル

△上に戻る