매치 가드
Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 7번째.
가드는 패턴에 조건을 추가합니다. 패턴 뒤에 when과 조건을 씁니다. 값이 패턴에 맞고 조건이 true인 경우에만 패턴이 일치합니다. 가드는 Godot 4.4부터 사용할 수 있습니다.
var hp := 15
match hp:
0:
print("Defeated")
var h when h < 20:
print("Low health: ", h)
_:
print("Healthy")Low health: 15GDScript에는 1..10과 같은 범위 패턴이 없습니다. 가드가 있는 바인딩 패턴을 사용하면 같은 작업을 할 수 있습니다. var h when h < 20:은 20보다 작은 모든 값과 일치하며, 해당 값에 h라는 이름을 붙입니다.
가드가 false이면 match는 다음 패턴으로 넘어갑니다. 패턴은 위에서 아래로 시도되므로, 순서에 따라 실행되는 블록이 결정됩니다:
var temp := 32
match temp:
var t when t <= 0:
print("Freezing")
var t when t < 15:
print("Cold")
var t when t < 30:
print("Warm")
_:
print("Hot")Hot두 번째 패턴에는 t > 0이 필요하지 않습니다. 온도가 0 이하이면 이미 첫 번째 패턴과 일치했기 때문입니다. 가드에는 다른 변수와 and 또는 or를 포함해 어떤 조건이든 사용할 수 있으며, 어떤 패턴에도 적용할 수 있습니다. 5 when hard_mode:는 hard_mode가 true일 때만 5와 일치합니다.
챌린지
쉬움프로그램은 나이를 정수로 읽어 age에 저장합니다. 가드가 있는 match 문을 사용해 나이대를 출력하세요:
0부터12까지:Child13부터19까지:Teenager20부터64까지:Adult65부터120까지:Senior- 그 밖의 모든 숫자:
Invalid age
각 범위에는 양 끝값이 모두 포함됩니다. 입력이 15일 때 출력은 다음과 같습니다:
Teenager직접 해보기
extends Node
func _ready():
var age := int(OS.read_string_from_stdin())
# match와 가드를 사용해 연령대를 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러