辞書の作成
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 77/92。
配列は位置によって値を格納します。辞書は名前によって値を格納します。それぞれの値はキーとペアになっており、キーを使って値を見つけます。
辞書は波括弧で書きます。各ペアはキー、コロン、値で構成され、ペア同士はカンマで区切ります:
var player := {"name": "Mia", "hp": 100, "alive": true}
print(player)出力には、{の後と}の前にスペースを入れて、すべてのペアが表示されます。
{ "name": "Mia", "hp": 100, "alive": true }辞書内では各キーは一度しか登場できませんが、値は重複してもかまいません。{} 内に同じキーを2回記述するとエラーになり、プログラムは実行前に停止します。キーと値には、文字列、数値、ブール値、さらには配列など、あらゆる型を使用できます。
空の辞書は{}と書きます。後からキーと値のペアを追加できます。
var scores := {}
print(scores) # { }配列と同様に、辞書にも型を指定できます。Dictionary[String, int]は、すべてのキーがStringで、すべての値がintであることを意味します。
var stock: Dictionary[String, int] = {"apples": 3, "pears": 5}チャレンジ
簡単プログラムは3行の入力を読み取ります:
- ヒーローの名前
- 役割
- レベル(整数)
3つのペアを持つ、heroという名前の辞書を作成します:
"name"にヒーローの名前を対応付けます"role"に役割を対応付けます"level"にレベルを対応付け、intとして格納します
次に、辞書を出力します。入力がMia、Healer、3の場合、出力は次のとおりです:
{ "name": "Mia", "role": "Healer", "level": 3 }自分で試してみよう
extends Node
func _ready():
var hero_name := OS.read_string_from_stdin()
var role := OS.read_string_from_stdin()
var level := int(OS.read_string_from_stdin())
# ここでヒーローの辞書を作成する
# ここで辞書を出力する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ