インデックスによる要素へのアクセス
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 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]) -- 最初のスコア: 100
print(scores[3]) -- 3番目のスコア: 92このインデックスシステムでは、位置について考えるときにLuaのテーブルがより自然に感じられます。日常生活で数えるのと同じように、最初の項目は位置1にあります。
チャレンジ
簡単テーブル要素へのアクセスを示す宝箱のインベントリーシステムを作成しましょう。まず、ちょうど4つの文字列値 "gold coin"、"ruby gem"、"magic scroll"、"silver key"を含む、treasureChestという名前のテーブルを作成します。テーブルを作成したら、角括弧表記を使って宝箱の3番目のアイテムにアクセスし、出力します。
自分で試してみよう
-- TODO: 4つのアイテムを含むtreasureChestテーブルを作成する
-- TODO: treasureChestの3番目のアイテムにアクセスして出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
10テーブル その1:リスト形式
テーブルとは?テーブルの作成インデックスによる要素へのアクセスインデックスによる要素の変更長さ演算子「#」table.insert()table.remove()復習 - パーティーメンバーを管理する自分で練習してみよう: Luaオンラインコンパイラ