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")チャレンジ
簡単変数 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
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ