0Pricing
Scala for Backend Engineering & Functional Programming · Ders

Tuple'ları Yapısökümüne Uğratma

Değerleri yeniden dışarı çıkarın.

Tuple'ları Yapısökümüne Uğratma, CoddyKit'te ücretsiz bir Scala for Backend Engineering & Functional Programming dersidir. Bu, 4 dersinin 2. 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.

Değerleri Dışarı Çıkarma

Bir demet oluşturmak işin yalnızca yarısıdır. İçindeki değerleri kullanmak için onları yeniden dışarı çıkarmanız gerekir.

Scala bunun için iki temel yol sunar: numaralı erişiciler ve örüntüyle parçalama. Bu derste ikisini de ele alacağız.

Konuma Göre Erişme

Her demet öğesini ._1, ._2 ve benzeri ifadelerle okuyabileceğiniz bir konumu vardır.

Konumların sıfırdan değil, birden başladığını unutmayın. Bu nedenle ._1 ilk öğedir.

val person = ("Alice", 30)
println(person._1)
println(person._2)

Kodda Erişicileri Kullanma

Yalnızca bir öğeye ihtiyacınız olduğunda konumsal erişiciler kullanışlıdır.

Burada bir ikiliden yaşı okuyor ve ona bir ekliyoruz. Erişiciler özgün öğe türünü döndürdüğünden matematik işlemleri doğrudan yapılabilir.

val record = ("Bob", 42)
val nextYear = record._2 + 1
println(nextYear)

val ile Parçalama

._1 ve ._2 ifadelerini okumak takibi zorlaştırabilir. Parçalama, her öğeye aynı anda ad vermenizi sağlar.

Bu val örüntüsü, name ve age değişkenlerini tek bir satırda bağlar.

val (name, age) = ("Cara", 25)
println(name)
println(age)

Parçalama Neden Yararlıdır?

Adlandırılmış değişkenleri okumak, numaralı konumları okumaktan çok daha kolaydır.

age ile person._2 karşılaştırıldığında, parçalanmış sürüm amacınızı açıkça gösterir ve bir eksik-fazla sayma hatasını önler.

val (city, population) = ("Lyon", 500000)
println(s"$city has $population people")

Üç Öğeyi Parçalama

Parçalama yalnızca ikililerde değil, her boyuttaki demette çalışır.

Burada üç öğeli bir demet, tek bir ifadede üç adlandırılmış değişkene açılır.

val (id, label, active) = (7, "task", true)
println(id)
println(label)
println(active)

Alt Çizgiyle Yok Sayma

Bazen değerlerin yalnızca bir kısmını istersiniz. Bir konumu atlamak için _ alt çizgisini kullanın.

Burada yalnızca adı alıyor, yaşı tamamen yok sayıyoruz.

val (name, _) = ("Dana", 40)
println(name)

İşlev Sonuçlarını Parçalama

Demet döndüren işlevler, parçalamayla doğal biçimde birlikte kullanılır.

Döndürülen iki değere işlevi çağırdığınız yerde ad verebilir, böylece sonucu kendi kendini açıklayan hâle getirebilirsiniz.

def minMax(a: Int, b: Int) = (a min b, a max b)
val (low, high) = minMax(8, 3)
println(low)
println(high)

Bir İkiliyi Takas Etme

İki öğeli bir demetin, öğelerinin yerini değiştiren yerleşik bir swap yöntemi vardır.

Bu yöntem, sırası tersine çevrilmiş yeni bir ikili döndürür; bu özellik zaman zaman kullanışlıdır.

val pair = ("a", 1)
println(pair.swap)

for İçinde Parçalama

Bir ikililer koleksiyonu üzerinde döngü kurarken, döngü başlığının içinde parçalama yapabilirsiniz.

Her ikili, her yinelemede otomatik olarak key ve value değerlerine açılır.

val pairs = List(("a", 1), ("b", 2))
for ((key, value) <- pairs) println(s"$key=$value")

Türler Korunur

Parçalama tür bilgilerini hiçbir zaman kaybetmez. Her adlandırılmış değişken, kendi konumunun tam türünü korur.

Bu nedenle val (n, age) = ("Eve", 33) ifadesinde n bir String, age ise bir Int olur ve tür güvenli biçimde kullanıma hazırdır.

val (n, age) = ("Eve", 33)
println(n.length)
println(age * 2)

Hızlı Kontrol

Demetleri parçalama hakkında öğrendiklerinizi sınayın.

Özet

Demet değerlerini ._1 gibi konumsal erişicilerle (birden başlayan) veya daha açık bir biçimde val (a, b) = pair gibi parçalama kullanarak dışarı çıkarabilirsiniz.

Alt çizgi istenmeyen konumları atlar, parçalama for döngülerinde çalışır ve türler her zaman korunur. Sırada aralıkları inceleyeceksiniz.

Sıkça Sorulan Sorular

“Tuple'ları Yapısökümüne Uğratma” dersi ücretsiz mi?

Evet — “Tuple'ları Yapısökümüne Uğratma” 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.

“Tuple'ları Yapısökümüne Uğratma” dersinde ne öğreneceğim?

Değerleri yeniden dışarı çıkarı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 2. dersidir.

“Tuple'ları Yapısökümüne Uğratma” 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. Tuple Oluşturma
  2. Tuple'ları Yapısökümüne Uğratma
  3. Aralıklar Oluşturma
  4. Döngülerde Aralıklar
← Scala for Backend Engineering & Functional Programming Sayfasına Dön