Menu
CoddyTech

Eşleştirme Koşulları

Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 7 / 78.

Bir koruma koşulu, bir örüntüye koşul ekler. Örüntüden sonra when ve bir koşul yazın: örüntü yalnızca değer örüntüyle eşleştiğinde ve koşul true olduğunda eşleşir. Koruma koşulları Godot 4.4'ten beri kullanılabilir.

var hp := 15
match hp:
	0:
		print("Defeated")
	var h when h < 20:
		print("Low health: ", h)
	_:
		print("Healthy")
Low health: 15

GDScript'te 1..10 gibi aralık kalıpları yoktur. Bu işi koruma koşullu bir bağlama kalıbı yapar: var h when h < 20:, 20'nin altındaki her değerle eşleşir ve bu değere h adını verir.

Bir koruma ifadesi false olduğunda, match bir sonraki desene geçer. Desenler yukarıdan aşağıya doğru denenir, bu yüzden sıralama hangi bloğun çalışacağını belirler:

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

İkinci kalıbın t > 0 koşuluna ihtiyacı yoktur: 0 veya daha düşük bir sıcaklık zaten ilk kalıpla eşleşmiştir. Bir koruma koşulu başka değişkenlerle ve and ya da or kullanılarak herhangi bir koşulu içerebilir ve her kalıba uyabilir: 5 when hard_mode:, yalnızca hard_mode true olduğunda 5 ile eşleşir.

challenge icon

Görev

Kolay

Program, yaşı bir tam sayı olarak age değişkenine okur. Yaş grubunu yazdırmak için korumalarla birlikte bir match ifadesi kullan:

  • 0 ile 12 arası: Child
  • 13 ile 19 arası: Teenager
  • 20 ile 64 arası: Adult
  • 65 ile 120 arası: Senior
  • Diğer tüm sayılar: Invalid age

Her aralığa iki uç değer de dahildir. Girdi 15 olduğunda çıktı:

Teenager

Kendin dene

extends Node

func _ready():
	var age := int(OS.read_string_from_stdin())
	# Yaş grubunu match ve guard koşullarıyla yazdır
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online GDScript derleyicisi