📄️ Enums and Patern Maching
Bu başlığımızda enumları ve paternleri göreceğiz. Enumlar varyasyonları ile veri tipleri tanımlamamızı sağlarken parternler belirli kodları belirli şartlarda çalıştırmamıza izin verecektir.
📄️ Enums
Enum yapıları nedir diye baktığımızda bizleri çevirisi olan sınıflandırmak karşılamaktadır. Yapı olarak bool değerlerine benzemektedirler. Belirli bir durumun sadece belirli sayıda durumunun olduğunu ifade etmektedirler. Mesela diyelim ki bir oyun yazıyoruz ve oyuncunun oyun içerisinde hangi durumda olduğunu kod içerisinde belirtmek istiyoruz. Bu durumda enum ile oyuncunun durumunu OYUNDA , ,OYUNU DURDURDU ve OYUNU KAYBETTİ durumlarından biri ile kaydedebiliriz. Bu şekilde sonrasında oluşturduğumuz enum değerini çağırarak eğer oyun durumu OYUNDA ise şu işlemi yap ifadesini kullanabiliriz.
📄️ Match Yapıları
Match yapıları türkçeye çevirisi ile eşleştirme yapıları adının üstünde bir değeri belirli değer havuzundaki değerler ile eşleştirmeye ve bu eşleştirme sonucunda istenilen kodu çalıştırmaya yarayacaktır. Bu işlemi üst kısımda evcil_hayvanları sınıflandırırken gerçekleştirdik. Aslında match sistemleri tam olarak da bu şekildeki durumlarda çalışmaktadır.
📄️ If - Let Yapıları
If let yapıları match yapılarını yazmanın kısa yolu olarak sadece tek bir duruma karşılık gelecek şekilde yazabiliriz. Ayrıca bu yapıya else ekleyerek tüm kümeyi kapsayabiliriz. Bu yapıyı oluşturmak için enum yapısı ile oluşturduğumuz değerleri Some() yapısı ile birleştirebiliriz.