Menu
CoddyTech

match文

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

match文は、1つの値をパターンのリストと照合し、一致した最初のパターンのブロックを実行します。同じ変数を比較する長いif/elifチェーンの代わりに使えます。

var day := 3
match day:
	1:
		print("Monday")
	2, 3:
		print("Midweek")
	_:
		print("Other day")

これは Midweek を出力します。

  • 各パターンはコロンで終わり、そのコードは1段深くインデントします
  • カンマで区切られた複数の値は1つのブロックを共有します: 2, 3:
  • _ はワイルドカードです。任意の値に一致するため、else のように最後に置きます

最初に一致したブロックだけが実行されます。GDScriptは次のパターンへフォールスルーしないため、breakを書く必要はありません。一致するパターンがなく、_もない場合は、何も実行されません。

パターンには文字列も使えます:

var weapon := "bow"
match weapon:
	"sword":
		print("Melee")
	"bow", "crossbow":
		print("Ranged")
	_:
		print("Unknown")
challenge icon

チャレンジ

簡単

変数 season には季節の名前が格納されています。その季節に応じたアクティビティを出力する match 文を書きましょう。

  • "Spring":Go hiking を出力する
  • "Summer":Go swimming を出力する
  • "Fall" または "Autumn":Go apple picking を出力する(両方の値を含む1つのパターン)
  • "Winter":Go skiing を出力する
  • その他の値:Stay home を出力する

すべてのケースを書きましょう。season に "Autumn" を設定した場合、出力は次のとおりです。

Go apple picking

自分で試してみよう

extends Node

func _ready():
	var season := "Autumn"
	# 下にmatch文を書いてください
	pass
quiz icon腕試し

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

基礎のすべてのレッスン

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