ペアの追加と変更
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 68/90。
新しいキーと値のペアを追加したり、既存のものを変更したりするには、ドット記法またはブラケット記法を使って代入演算子を使用します。
local player = {
["name"] = "Alex",
["level"] = 5
}
-- 新しいキーと値のペアを追加する
player.gold = 100
-- 既存の値を変更する
player.level = 6このアプローチの優れた点は、Luaでは追加と変更が区別されないことです。テーブルにキー "gold" が存在しない場合、値 100 とともに作成されます。キー "level" がすでに存在する場合は、その値が 6 に更新されます。
これらの操作には、ドット記法またはブラケット記法のどちらかを使用できます。
-- この2つはどちらも同じように動作します
player.class = "Warrior"
player["weapon"] = "Sword"チャレンジ
簡単新しい属性の追加と既存の属性の変更の両方を示すキャラクター成長システムを作成しましょう。まず、次の初期キーと値のペアを持つ hero という名前のテーブルを作成します。["name"] には文字列 "Warrior" を、["level"] には数値 5 を、["health"] には数値 120 を代入します。
初期キャラクターテーブルを作成したら、次の変更を行います。まず、ドット記法を使って、値が "Paladin" の新しいキーと値のペア ["class"] を追加します。次に、ブラケット記法を使って、既存の level の値を 7 に変更します。最後に、ブラケット記法を使って、値が 80 の別の新しいキーと値のペア ["mana"] を追加します。
コードの下にある行では、ヒーローのクラスとレベルが出力されるので、変更を確認できます。
自分で試してみよう
-- 初期のheroテーブルを作成する
local hero = {
-- TODO: ここに最初のキーと値のペアを追加する
}
-- TODO: ドット記法とブラケット記法を使って新しい属性を追加し、既存の属性を変更する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ