GDScriptのmatch
文は、特定の値や条件に基づいてコードを分岐させるための制御構造で、他のプログラミング言語ではswitch
文に該当します。
目次
match文の書き方
match expression:
value1:
# value1にマッチした場合の処理
value2:
# value2にマッチした場合の処理
value3:
# value3にマッチした場合の処理
...
_:
# どの値にもマッチしない場合の処理
expression
には、比較対象となる値や式を指定します。
その下に記述された各ブロックは、指定された値にマッチした場合に実行されます。いずれの値にもマッチしない場合、最後の_:
ブロックが実行されます。
match文を使った例
enum Direction { UP, DOWN, LEFT, RIGHT }
func move_character(direction: Direction) -> void:
match direction:
Direction.UP:
print("Character is moving UP.")
Direction.DOWN:
print("Character is moving DOWN.")
Direction.LEFT:
print("Character is moving LEFT.")
Direction.RIGHT:
print("Character is moving RIGHT.")
_:
print("Invalid direction.")
この例では、move_character
関数はDirection
列挙型の値を受け取り、その値に応じてキャラクターを移動させます。
match
文は、渡された方向に応じて適切なメッセージを表示します。もしDirection
列挙型に定義されていない方向が渡された場合は、「Invalid direction.」というメッセージが表示されます。
Comment