Menu
CoddyTech

ローカル変数

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を返します。

challenge icon

チャレンジ

簡単

do...endブロックを作成し、その中で値が"Hidden data"のsecretMessageという名前のローカル変数を宣言します。同じブロック内で、secretMessageの値を出力します。

do...endブロックが終了した後、もう一度secretMessageを出力してみます。ローカル変数はブロックスコープ内に限られるため、この2つ目の出力文は、変数がブロックの外ではアクセスできなくなっているのでnilを出力します。

自分で試してみよう

-- TODO: ここにコードを書いてください
-- ローカル変数 secretMessage を持つ do...end ブロックを作成してください
-- ブロック内で secretMessage を出力してください
-- 次に、ブロックの外で secretMessage を出力してみてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ