Scala for Backend Engineering & Functional Programming · Ders

İfadeler ve Bildirimler

Her şey bir değer döndürür.

4. ders / 413 adım

İfadeler ve Bildirimler, CoddyKit'te ücretsiz bir Scala for Backend Engineering & Functional Programming dersidir. Bu, 4 dersinin 4. 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.

Her Şey Bir İfadedir

Birçok dilde if ve bloklar, bir işlem yapan ancak değer üretmeyen deyimlerdir. Scala'da ise bir değeri değerlendiren ifadelerdir.

Bu değişim, Scala'daki işlevsel programlamanın temelini oluşturur.

val max = if (3 > 2) 3 else 2

Bir İfade Olarak if

Scala'da if/else, çalıştırılan dalın değerini döndürür. Bu sonucu doğrudan bir val değişkenine atayabilirsiniz.

Dalların içinde değer atadığınız değiştirilebilir bir değişkene gerek yoktur.

object Main extends App {
  val temp = 18
  val label = if (temp > 20) "warm" else "cool"
  println(label)
}

Bloklar Son Satırlarını Döndürür

Bir { ... } bloğu başlı başına bir ifadedir. Değeri, içindeki son ifadenin değeridir.

Burada blok 30 olarak değerlendirilir ve bu değer result değişkeninin değeri olur.

object Main extends App {
  val result = {
    val a = 10
    val b = 20
    a + b
  }
  println(result)
}

Açıkça return Yazmak Gerekmez

Bir yöntem gövdesi bir ifade olduğundan, değeri yalnızca değerlendirilen son ifadedir. return anahtar sözcüğü nadiren kullanılır.

Aşağıdaki iki yöntem aynı şekilde çalışır, ancak deyimsel olanında return yazılmaz.

def double(x: Int) = x * 2
// instead of: def double(x: Int) = { return x * 2 }

match de Bir İfadedir

match ile yapılan örüntü eşleştirme de bir değer üretir; bu nedenle girdileri sonuçlara eşlemek için idealdir.

Her durum kolu, o dala ait değeri üretir.

object Main extends App {
  val day = 3
  val name = day match {
    case 1 => "Mon"
    case 3 => "Wed"
    case _ => "Other"
  }
  println(name)
}

İfadeler Birleştirilebilir

İfadeler değer döndürdüğü için onları serbestçe iç içe yerleştirebilir ve birleştirebilirsiniz.

Geçici değişkenler kullanmadan bir if ifadesini bir işlevin bağımsız değişkeni olarak veya daha büyük bir hesaplamanın parçası olarak kullanabilirsiniz.

object Main extends App {
  val n = 7
  println("sign: " + (if (n >= 0) "+" else "-"))
}

Deyimler Hâlâ Vardır

Her şey kullanışlı bir değer üretmez. Yalnızca yan etkileri için yapılan println veya atama gibi işlemler Unit olarak değerlendirilir.

Bunlar Scala'daki deyim benzeri ifadelerdir.

val x: Unit = println("hello") // value is ()

İfadelerle var Kullanmaktan Kaçının

İfade biçimi, değiştirilebilir var kalıplarını ortadan kaldırmanızı sağlar. Bir var tanımlayıp dallarda ona değer atamak yerine, bütün if ifadesini bir val değişkenine atayın.

object Main extends App {
  val score = 85
  val grade = if (score >= 90) "A" else if (score >= 80) "B" else "C"
  println(grade)
}

for Değer Üretir

yield içeren bir for, yalnızca yan etkiler için döngü çalıştırmak yerine yeni bir koleksiyon oluşturan bir ifadedir.

Bu, yinelemeyi değer üreten bir dönüşüme dönüştürür.

object Main extends App {
  val squares = for (i <- 1 to 4) yield i * i
  println(squares)
}

Arka Uç Kodu İçin Neden Önemlidir

İfade odaklı kod genellikle daha kısa, daha az hareketli parçaya sahip ve daha kolay test edilebilir olur.

  • Daha az değiştirilebilir değişken, daha az hata anlamına gelir.
  • Sonuçlar girdilerden doğal biçimde türetilir.
  • Scala'nın işlevsel kütüphaneleriyle iyi bir şekilde birleştirilebilir.

Deyim Biçimi ve İfade Biçimi

Bu iki yaklaşımı karşılaştırın. Deyim biçimi bir değişkeni değiştirir; ifade biçimi ise doğrudan bir değer döndürür.

Scala her ikisini de kullanmanıza izin verir, ancak ifade biçimini tercih eder.

var s = ""            // statement style
if (true) s = "yes" else s = "no"

val e = if (true) "yes" else "no" // expression style

Kısa Kontrol

Scala'da bir if/else ne olarak değerlendirilir?

Özet

Scala, yalnızca durumu değiştiren deyimler yerine değer üreten ifadeleri tercih eder.

  • if, match, bloklar ve for/yield ifadelerinin tümü değer döndürür.
  • Yöntem gövdeleri son ifadelerini döndürür; return nadiren gerekir.
  • Yan etki oluşturan kod Unit döndürür.
  • Bu biçim var kullanımını ve hataları azaltı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

“İfadeler ve Bildirimler” dersi ücretsiz mi?

Evet — “İfadeler ve Bildirimler” 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.

“İfadeler ve Bildirimler” dersinde ne öğreneceğim?

Her şey bir değer döndürür. 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 4. dersidir.

“İfadeler ve Bildirimler” 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. val ve var
  2. Temel Türler ve Değişmezler
  3. Tür Çıkarımı
  4. İfadeler ve Bildirimler
← Scala for Backend Engineering & Functional Programming Sayfasına Dön