Scala voor backend-engineering en functioneel programmeren · Les

Tuples destructureren

Haal waarden weer uit elkaar.

Les 2 van 413 stappen

Tuples destructureren is een gratis Scala voor backend-engineering en functioneel programmeren-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Scala voor backend-engineering en functioneel programmeren. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Scala voor backend-engineering en functioneel programmeren bevat in totaal 4 lessen.

Waarden eruit halen

Een tuple maken is slechts het halve verhaal. Om de waarden erin te gebruiken, moet u ze er weer uithalen.

Scala biedt hiervoor twee hoofdmanieren: genummerde toegangsmethoden en destructurering met patronen. In deze les behandelt u beide.

Toegang op positie

Elk tuple-element heeft een positie die u kunt lezen met ._1, ._2 enzovoort.

Let op: posities beginnen bij één, niet bij nul. ._1 is dus het eerste element.

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

Toegangsmethoden in code gebruiken

Toegangsmethoden op positie zijn handig als u slechts één element nodig hebt.

Hier lezen we de leeftijd uit een paar en tellen we er één bij op. Toegangsmethoden geven het oorspronkelijke elementtype terug, dus u kunt er rechtstreeks mee rekenen.

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

Destructurering met val

._1 en ._2 lezen kan lastig te volgen zijn. Met destructurering geeft u elk element meteen een naam.

Dit val-patroon koppelt name en age in één regel.

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

Waarom destructurering helpt

Genoemde variabelen lezen veel beter dan genummerde posities.

Bij het vergelijken van age met person._2 maakt de gedestructureerde versie uw bedoeling duidelijk en voorkomt deze fouten door één positie verschil.

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

Drie elementen destructureren

Destructurering werkt voor tuples van elke grootte, niet alleen voor paren.

Hier wordt een tuple met drie elementen in één instructie opgesplitst in drie variabelen met een naam.

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

Een positie negeren met een underscore

Soms wilt u slechts enkele waarden. Gebruik een underscore _ om een positie over te slaan.

Hier behouden we alleen de naam en negeren we de leeftijd volledig.

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

Resultaten van functies destructureren

Functies die tuples teruggeven, passen natuurlijk bij destructurering.

U kunt beide teruggegeven waarden meteen een naam geven op de plaats waar u de functie aanroept, waardoor het resultaat zichzelf documenteert.

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

Een paar omwisselen

Een tuple met twee elementen heeft een ingebouwde swap-methode die de elementen omwisselt.

Dit geeft een nieuw paar terug met de omgekeerde volgorde, wat soms handig is.

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

Destructurering in for

Wanneer u door een verzameling paren loopt, kunt u destructurering in de kop van de lus gebruiken.

Elk paar wordt tijdens elke iteratie automatisch opgesplitst in key en value.

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

Typen blijven behouden

Destructurering verliest nooit type-informatie. Elke variabele met een naam behoudt precies het type van zijn positie.

In val (n, age) = ("Eve", 33) is n dus een String en age een Int, klaar voor typeveilig gebruik.

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

Korte controle

Test wat u hebt geleerd over het destructureren van tuples.

Samenvatting

U kunt tuplewaarden eruit halen met toegangsmethoden op positie, zoals ._1 (beginnend bij één), of duidelijker met destructurering, zoals val (a, b) = pair.

Met een underscore slaat u ongewenste posities over, destructurering werkt in for-lussen en typen blijven altijd behouden. Hierna verkent u bereiken.

Gratis beginnen

Leer Scala met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
39
Lessen
143

Veelgestelde vragen

Is de les “Tuples destructureren” gratis?

Ja — de volledige tekst van “Tuples destructureren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Scala voor backend-engineering en functioneel programmeren wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Scala voor backend-engineering en functioneel programmeren bevat in totaal 4 lessen.

Wat leer ik in “Tuples destructureren”?

Haal waarden weer uit elkaar. Je oefent met Scala voor backend-engineering en functioneel programmeren door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Scala voor backend-engineering en functioneel programmeren te beginnen?

Ervaring vooraf is niet nodig. Scala voor backend-engineering en functioneel programmeren op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Tuples destructureren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Scala voor backend-engineering en functioneel programmeren?

Ja. Elke les over Scala voor backend-engineering en functioneel programmeren bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Tuples maken
  2. Tuples destructureren
  3. Ranges bouwen
  4. Ranges in lussen
← Terug naar Scala voor backend-engineering en functioneel programmeren