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