ローカル変数
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オンラインコンパイラ