ローカル変数
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 84/90。
Lua では、スコープが限定された変数を作成するために local キーワードが用意されています。local を使って変数を宣言すると、その変数は作成された特定のブロック内でのみアクセスできます。
ローカル変数の作成方法は次のとおりです:
local playerHealth = 100
local isGameActive = true主な違いは、ローカル変数はそのブロック内に限定されることです。たとえば、do...endブロック内でローカル変数を作成すると、そのブロックの外からアクセスできません。
do
local secretCode = 1234
print(secretCode) -- これは動作します
end
print(secretCode) -- nilを出力します: ローカル変数はここではもう存在しませんブロックの外では、その名前は一度も設定されていないグローバル変数を指すため、Luaはエラーの代わりにnilを返します。
チャレンジ
簡単do...end ブロックを作成し、その中で値が "Hidden data" のローカル変数 secretMessage を宣言します。同じブロック内で、secretMessage の値を出力します。
do...end ブロックが終了した後、もう一度 secretMessage を出力してみます。ローカル変数はブロックスコープ内に限られるため、この2つ目の出力文は nil を出力します。変数はブロックの外ではアクセスできなくなっているためです。
自分で試してみよう
-- TODO: ここにコードを書いてください
-- ローカル変数 secretMessage を持つ do...end ブロックを作成してください
-- ブロック内で secretMessage を出力してください
-- 次に、ブロックの外で secretMessage を出力してみてくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ