Menu
CoddyTech

配列要素へのアクセス

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]のように、存在しないインデックスを読み取ると、エラーが発生してプログラムが停止します。

challenge icon

チャレンジ

簡単

配列 inventory には6個の項目が格納されています。プログラムは入力から数値 count を読み取ります(1から6まで)。

  1. 最初の count 個の項目を、1行に1つずつ出力します。インデックスを使ってループしてください。
  2. 次に、負のインデックスで読み取った最後の項目の前に 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: "と最後のアイテムを出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ