Menu
CoddyTech

辞書のメソッド

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

辞書には、何が含まれているかを教えてくれるメソッドがあります。

keys()はキーの配列を返し、values()はペアの順序で値の配列を返します。

var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]

has()はキーが存在するかどうかを確認します。in演算子も同じ確認を行います。

print(player.has("hp")) # 真
print(player.has("mana")) # 偽
print("level" in player) # 真

size()はペアの数を返し、is_empty()は何もないかどうかを確認します:

print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # true

has() と in はキーだけを確認し、値は確認しません。player.has("Mia") は false です。

challenge icon

チャレンジ

簡単

プログラムは2行の入力を読み取ります。1行目はカンマで区切られたkey:value形式のペアのリストで、2行目は確認するキーです。与えられたコードは、すでに1行目から辞書infoを作成しています。

次の順番で出力してください。

  1. 各キーを1行に1つずつ
  2. ---
  3. 各値を1行に1つずつ
  4. ---
  5. ペアの数
  6. ---
  7. 辞書が空かどうかを示すtrueまたはfalse
  8. ---
  9. 2行目の入力のキーが存在するかどうかを示すtrueまたはfalse

入力がname:Mia,hp:100,class:Mageとhpの場合、出力は次のとおりです。

name
hp
class
---
Mia
100
Mage
---
3
---
false
---
true

自分で試してみよう

extends Node

func _ready():
	var text := OS.read_string_from_stdin()
	var key := OS.read_string_from_stdin()

	var info := {}
	for pair in text.split(","):
		var parts := pair.split(":")
		info[parts[0]] = parts[1]

	# keys、values、size、is_empty、has(key)を出力する
	# 各部分の間に---を入れる
	pass
quiz icon腕試し

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

基礎のすべてのレッスン

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