Menu
CoddyTech

型付き配列

CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 68/92。

通常の配列は、どの型の値でも受け入れます。型付き配列は1つの型のみを受け入れ、その型はArrayの後に角括弧で記述します:

var scores: Array[int] = [90, 85, 77]
var players: Array[String] = ["Ana", "Ben"]
var bonuses: Array[int] = []

GDScriptはすべての値をチェックします。角かっこ内に誤った型の値があると、プログラムの実行前に報告されます。

var scores: Array[int] = [90, "high"]  # エラー: "high" は int ではありません

プログラムの実行中に間違った型の値を追加することもエラーとなり、その値は追加されません。

var scores: Array[int] = [90, 85]
var bonus = "ten"
scores.append(bonus)  # エラー、scores は [90, 85] のまま

:=による型推論では、型付き配列は作成されません。var scores := [90, 85]は通常のArrayです。型付き配列を取得するには、Array[int]と記述します。

型付き配列は要素の型を把握しているため、var best := scores[0] は int と推論されます。通常の配列では、要素が任意の型になり得るため、同じ行はエラーになります。

型付き配列は通常の配列と同じインデックスとメソッドを持ち、print(scores) は同じように表示します:[90, 85]。

challenge icon

チャレンジ

簡単

プログラムは入力から個数を読み取り、続けてその数だけのスコアを1行ずつ読み取ります。

  1. scoresを空の整数型配列として宣言します
  2. 各スコアを読み取り、int()で変換してscoresに追加します
  3. scoresを出力し、続けてBest: と最高スコアを出力します

以下の入力に対する出力は次のとおりです。

3
70
95
88
[70, 95, 88]
Best: 95

自分で試してみよう

extends Node

func _ready():
	var count := int(OS.read_string_from_stdin())
	# 1. 空の int 型配列 scores を宣言する
	# 2. count 個のスコアを読み取り、それぞれを追加する
	# 3. scores を出力し、続けて "Best: " と最高スコアを出力する
quiz icon腕試し

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

基礎のすべてのレッスン

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