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