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