Değişkenlerle Eşleştirme
Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 6 / 78.
Match Statement dersinde her desen 1: veya "bow": gibi bir sabit değerdir. Bir desen sabit ya da değişken de olabilir: match, satır çalıştığında değeri bu adın tuttuğu değerle karşılaştırır:
const SECRET := 42
var guess := 42
match guess:
SECRET:
print("You found it!")
_:
print("Try again")You found it!İkinci yeni desen, bağlama deseni: var ve ardından yeni bir ad. _ gibi, her değerle eşleşir ve bu değeri yeni değişkende saklar; bu değişkeni bloğunun içinde kullanabilirsin:
var level := 5
match level:
1:
print("Tutorial")
var n:
print("Level %d is locked" % n)Level 5 is lockedBir bağlama deseni, kendi adı olmayan bir ifadenin sonucunu eşleştirdiğinde en kullanışlı hâlini alır:
var roll_a := 4
var roll_b := 6
match roll_a + roll_b:
12:
print("Double six!")
var total:
print("You rolled ", total)You rolled 10Bir bağlama kalıbı her şeyle eşleşir, bu yüzden _ gibi en sona gelir. Adı yeni olmalıdır: ikinci örnekteki var level: hata olurdu, çünkü level zaten vardır. Ayrıca virgülle ayrılmış diğer kalıplarla aynı satırda bulunamaz.
match türleri katı biçimde karşılaştırır: "5" dizgesi 5 kalıbıyla eşleşmez; 5.0 kayan noktalı sayısı da eşleşmez. Girişten okunan metni sayılarla eşleştirmeden önce int() ile dönüştürün.
Görev
KolayBir sayı tahmin kontrolü yazın. SECRET sabiti gizli sayıyı tutar ve program oyuncunun tahminini bir tamsayı olarak guess değişkenine okur.
guess üzerinde üç örüntü içeren bir match ifadesi yazın:
SECRETsabiti:Correct!yazdırın0:You gave up.yazdırın- Diğer tüm tahminler için bir bağlama örüntüsü: tahmini ve ardından
is not the number.yazdırın.
17 girdisi için çıktı:
17 is not the number.Kendin dene
extends Node
func _ready():
const SECRET := 42
var guess := int(OS.read_string_from_stdin())
# Aşağıya match ifadesini yazın
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
1String’leri Derinlemesine İnceleme
String MetotlarıString’lerde AramaDeğiştirme ve KırpmaBölme ve BirleştirmeTekrar: Kullanıcı Adı Kontrolü4Sözlükler Bölüm 2
İç İçe SözlüklerSözlük DizileriSözlükleri BirleştirmeSözlükleri KopyalamaTekrar - Frekans Sayacı10İleri Düzey Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Dizilerin Toplamı13Envanter Yönetim Sistemi
Projeye Genel BakışÜrün Ekle2İleri Düzey Karar Verme
Değişkenlerle EşleştirmeEşleştirme KoşullarıDizi KalıplarıSözlük KalıplarıÜyelik KontrolleriÖzet - Komut Ayrıştırıcı5Rehber Uygulaması
Menüyü GörüntüleKişi Ekle8Öğrenci Kayıt Yöneticisi
Proje Genel BakışıÖğrenci Ekle11Üst Düzey Fonksiyonlar
map Metodufilter Metodureduce Metoduany ve allTekrar - E-posta DoğrulayıcıTekrar - Sayı İşleyici3Çok Boyutlu Diziler
2B Dizilere Giriş2B Dizi Elemanlarına Erişim2B Dizilerle İç İçe DöngülerTekrar - 2B DizilerDüzensiz DizilerYaygın 2B Dizi ÖrüntüleriTekrar - Oyun Tahtası6Sözlüklerle Kümeler
Küme Nedir?Küme Olarak SözlükEkleme ve SilmeBirleşim ve KesişimKüme FarkıTekrar: Yinelenenleri Silme9Gelişmiş Veri Toplama
Değerleri ToplamaEn Küçük ve En Büyük Değeri BulmaÖzel SıralamaÖzet - Sözlük SıralayıcıKendi başına pratik yap: Online GDScript derleyicisi