配列要素へのアクセス
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 63/92。
配列の各要素にはインデックスがあり、これは配列内での位置を表します。インデックスは0から始まるため、最後のインデックスはサイズから1を引いた値です:
var letters := ["a", "b", "c", "d"]"a"はインデックス0にあります"b"はインデックス1にあります"d"はインデックス3にあります
要素を読み取るには、配列の後に角括弧でインデックスを書きます。
var scores := [10, 20, 30, 40, 50]
print(scores[2])30負のインデックスは末尾から数えます。scores[-1]は最後の要素(50)で、scores[-2]はその1つ前の要素(40)です。
range(scores.size())を使ったループでは、変数が配列のすべてのインデックスを順に取るので、各要素を順番に読み取れます。
for i in range(scores.size()):
print(scores[i])この5要素の配列でのscores[5]のように、存在しないインデックスを読み取ると、エラーが発生してプログラムが停止します。
チャレンジ
簡単配列 inventory には6個の項目が格納されています。プログラムは入力から数値 count を読み取ります(1から6まで)。
- 最初の
count個の項目を、1行に1つずつ出力します。インデックスを使ってループしてください。 - 次に、負のインデックスで読み取った最後の項目の前に
Last:を付けて出力します。
入力が 3 の場合、出力は次のとおりです。
sword
shield
potion
Last: rope自分で試してみよう
extends Node
func _ready():
var inventory := ["sword", "shield", "potion", "map", "torch", "rope"]
var count := int(OS.read_string_from_stdin())
# 最初のcount個のアイテムを1行に1つずつ出力する
# 次に"Last: "と最後のアイテムを出力する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ