型付き配列
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]。
チャレンジ
簡単プログラムは入力から個数を読み取り、続けてその数だけのスコアを1行ずつ読み取ります。
scoresを空の整数型配列として宣言します- 各スコアを読み取り、
int()で変換してscoresに追加します 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: " と最高スコアを出力する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ