Scala for Backend Engineering & Functional Programming · Ders

match İfadeleri

Biçime göre dallanın

1. ders / 413 adım

match İfadeleri, CoddyKit'te ücretsiz bir Scala for Backend Engineering & Functional Programming dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Scala for Backend Engineering & Functional Programming öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Scala for Backend Engineering & Functional Programming kursu toplamda 4 dersten oluşur.

match Nedir?

match, Scala'nın güçlü dallanma yapısıdır. Buna bir değer ve bir dizi case deseni verirsiniz; ilk eşleşen dalı çalıştırır.

Bunu, switch deyiminin daha yetenekli ve ifade tabanlı bir sürümü olarak düşünebilirsiniz.

Temel Söz Dizimi

value match { case pattern => result } şeklinde yazarsınız. Her case, bir deseni ve bu desen eşleştiğinde çalıştırılacak kodu tanımlar.

match bir ifade olduğundan, bütün yapı bir değer döndürür.

object Main {
  def main(args: Array[String]): Unit = {
    val n = 2
    val word = n match {
      case 1 => "one"
      case 2 => "two"
      case 3 => "three"
    }
    println(word)
  }
}

Joker Durumu

Alt çizgi _, her şeyle eşleşen bir joker karakterdir. Bunu sonda, tüm durumları yakalayan varsayılan seçenek olarak kullanın.

Bu seçenek olmadan eşleşmeyen bir değer, çalışma zamanında MatchError oluşturur.

object Main {
  def main(args: Array[String]): Unit = {
    val n = 9
    val word = n match {
      case 1 => "one"
      case 2 => "two"
      case _ => "many"
    }
    println(word)
  }
}

Dizelerle Eşleştirme

Desenler sayılarla sınırlı değildir. Dize sabitlerini doğrudan eşleştirebilirsiniz.

object Main {
  def main(args: Array[String]): Unit = {
    val cmd = "start"
    val msg = cmd match {
      case "start" => "Starting up"
      case "stop"  => "Shutting down"
      case _       => "Unknown command"
    }
    println(msg)
  }
}

Eşleştirme Bir Değer Döndürür

Her dal bir değer ürettiğinden, match sonucunu bir val'a atayabilir veya doğrudan kullanabilirsiniz.

Bu, kodunuzu temiz tutar ve değiştirilebilir değişkenlere olan ihtiyacı ortadan kaldırır.

object Main {
  def main(args: Array[String]): Unit = {
    val light = "red"
    println(s"Action: " + (light match {
      case "red"   => "stop"
      case "green" => "go"
      case _       => "caution"
    }))
  }
}

Durumları Birleştirme

| (dikey çizgi) kullanarak tek bir durumda birden fazla değeri eşleştirebilirsiniz. Listelenen tüm değerler aynı dala yönlendirilir.

object Main {
  def main(args: Array[String]): Unit = {
    val day = "Sat"
    val kind = day match {
      case "Sat" | "Sun" => "weekend"
      case _             => "weekday"
    }
    println(kind)
  }
}

Bir İşlevde Eşleştirme

Yaygın bir yaklaşım, işlev gövdesinin tamamını tek bir match ifadesi yapmaktır. Eşleşen sonuç, dönüş değeri olur.

object Main {
  def describe(n: Int): String = n match {
    case 0 => "zero"
    case 1 => "one"
    case _ => "other"
  }
  def main(args: Array[String]): Unit = {
    println(describe(0))
    println(describe(5))
  }
}

Bütün Değeri Bağlama

Joker durumunda case other => kullanarak eşleşen değeri bir ada bağlayabilirsiniz. Ardından bu dalda other adını kullanabilirsiniz.

object Main {
  def main(args: Array[String]): Unit = {
    val n = 42
    val result = n match {
      case 0     => "nothing"
      case other => s"got $other"
    }
    println(result)
  }
}

Sıra Önemlidir

Durumlar yukarıdan aşağıya sınanır ve ilk eşleşme kazanır. Daha özel desenleri genel desenlerden önce yerleştirin.

Çok erken yerleştirilen bir joker, altındaki durumları gölgede bırakır.

object Main {
  def main(args: Array[String]): Unit = {
    val n = 1
    val msg = n match {
      case 1 => "specific one"
      case _ => "anything else"
    }
    println(msg)
  }
}

Eşleştirme Neden Kullanılır?

Desen eşleştirme Scala'nın merkezindedir, çünkü:

  • Çoklu dallanma için okunması kolaydır
  • Bir ifade olarak değer döndürür
  • Türlere, veri yapılarına ve koruyuculara ölçeklenebilir
  • Derleyici tarafından eksiksizlik açısından denetlenebilir

Hepsini Bir Araya Getirme

Burada sabit değerler, birleştirilmiş bir durum ve varsayılan seçenek kullanan küçük bir sınıflandırıcı yer alıyor.

object Main {
  def grade(score: Int): String = score match {
    case 10 | 9 => "excellent"
    case 8 | 7  => "good"
    case _      => "keep trying"
  }
  def main(args: Array[String]): Unit = {
    println(grade(9))
    println(grade(7))
    println(grade(3))
  }
}

Kısa Kontrol

match ifadelerini ne kadar anladığınızı test edin.

Özet

match yapısının temellerini öğrendiniz:

  • Söz dizimi value match { case pattern => result } şeklindedir
  • _, tüm durumları yakalayan joker karakterdir
  • Değerleri | ile birleştirebilirsiniz
  • match, değer döndüren bir ifadedir
  • Durumlar yukarıdan aşağıya denenir; ilk eşleşme kazanır
Başlamak ücretsiz

Yapay zeka eğitmeniyle Scala öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
39
Dersler
143

Sıkça Sorulan Sorular

“match İfadeleri” dersi ücretsiz mi?

Evet — “match İfadeleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Scala for Backend Engineering & Functional Programming kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Scala for Backend Engineering & Functional Programming kursu toplamda 4 dersten oluşur.

“match İfadeleri” dersinde ne öğreneceğim?

Biçime göre dallanın Scala for Backend Engineering & Functional Programming ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Scala for Backend Engineering & Functional Programming öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Scala for Backend Engineering & Functional Programming, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“match İfadeleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Scala for Backend Engineering & Functional Programming dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Scala for Backend Engineering & Functional Programming dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. match İfadeleri
  2. Türleri ve Değerleri Eşleştirme
  3. Koruyucular ve Bağlama
  4. Yapıdan Ayırma
← Scala for Backend Engineering & Functional Programming Sayfasına Dön