インデックスによる要素へのアクセス
CoddyのLuaジャーニー「Fundamentals」セクションの一部 — レッスン 58/90。
リスト形式のテーブル内の特定の要素にアクセスするには、取得したい項目の位置番号を指定して角括弧を使用します。
基本的な構文は次のとおりです:
local items = {"sword", "shield", "potion"}
print(items[1]) -- 出力: sword
print(items[2]) -- 出力: shieldLuaについて覚えておくべき非常に重要なことがあります:テーブルのインデックスは0ではなく1から始まります。これは、最初の要素が位置0にある他の多くのプログラミング言語とは異なります。Luaでは、最初の要素は常にインデックス1にあり、2番目はインデックス2にあり、といった具合です。
local scores = {100, 85, 92}
print(scores[1]) -- 1番目のスコア: 100
print(scores[3]) -- 3番目のスコア: 92このインデックス方式により、位置について考える際にLuaのテーブルがより自然に感じられるようになります。日常生活で数えるのと同じように、最初の項目は位置1にあります。
チャレンジ
簡単テーブル要素へのアクセスを実演する宝箱のインベントリシステムを作成します。まず、"gold coin"、"ruby gem"、"magic scroll"、および "silver key" という4つの文字列値を正確に含む、treasureChest という名前のテーブルを作成します。テーブルを作成した後、角括弧記法を使用して宝箱から3番目のアイテムにアクセスし、出力してください。
チートシート
テーブル内の特定の要素にアクセスするには、位置番号を指定した角括弧を使用します:
local items = {"sword", "shield", "potion"}
print(items[1]) -- 出力: sword
print(items[2]) -- 出力: shield重要: Luaのテーブルのインデックスは0ではなく1から始まります。最初の要素はインデックス1、2番目の要素はインデックス2、というようになります。
local scores = {100, 85, 92}
print(scores[1]) -- 最初のスコア: 100
print(scores[3]) -- 3番目のスコア: 92自分で試してみよう
-- TODO: 4つのアイテムを持つtreasureChestテーブルを作成する
-- TODO: トレジャーチェストから3番目のアイテムにアクセスして表示するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Fundamentalsのすべてのレッスン
10テーブル パート1:リスト形式
テーブルとは?テーブルの作成インデックスによる要素へのアクセスインデックスによる要素の変更長さ演算子「#」table.insert()table.remove()まとめ:パーティーメンバーの管理