Strenger over flere linjer
Bruk blokker med tre anførselstegn.
Strenger over flere linjer er en gratis leksjon i Scala for backendutvikling og funksjonell programmering på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Scala for backendutvikling og funksjonell programmering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Scala for backendutvikling og funksjonell programmering inneholder totalt 4 leksjoner.
Hva er flerlinjestrenger?
Noen ganger trenger du tekst som går over flere linjer, for eksempel en melding, JSON eller en SQL-spørring.
Scala lar deg skrive dette med tre doble anførselstegn, som bevarer linjeskift nøyaktig slik du skriver dem.
val text = """Line one
Line two"""
println(text)Syntaks med tre anførselstegn
Omslutt teksten med tre doble anførselstegn på hver side: """...""".
Inne i teksten trenger De ikke å escape vanlige doble anførselstegn, noe som gjør dette ideelt for tekst som inneholder anførselstegn.
val json = """{"name": "Ada"}"""
println(json)Ekte linjeskift
I en streng med tre anførselstegn oppretter et trykk på Enter et faktisk linjeskift i verdien.
Dette er nyttig for tekstblokker der De vil bevare oppsettet.
object Main extends App {
val poem = """Roses are red
Scala is neat"""
println(poem)
}Indenteringsproblemet
Hvis De indenterer en flerlinjestreng i koden, blir de innledende mellomrommene en del av verdien.
Det ser ofte rotete ut når teksten skrives ut. Scala tilbyr en ryddig måte å fjerne indenteringen på.
val msg = """Hello
World"""
println(msg)stripMargin
stripMargin fjerner innledende blanktegn frem til et margtegn, som er | som standard.
Plasser en | i begynnelsen av hver linje, og kall deretter stripMargin for å justere koden pent.
val msg = """Hello
|World""".stripMargin
println(msg)En ryddig flerlinjeblokk
Ved å kombinere tre anførselstegn med stripMargin får De lesbar kode og ryddige resultater.
Hver linje begynner med |, som fjernes når teksten skrives ut.
object Main extends App {
val report = """Report
|Total: 5
|Done!""".stripMargin
println(report)
}Egendefinert margtegn
De kan sende et annet margtegn til stripMargin hvis | kommer i konflikt med teksten.
De kan for eksempel bruke # som margmarkør i stedet.
val s = """One
#Two""".stripMargin('#')
println(s)Flerlinjetekst med interpolering
De kan kombinere tre anførselstegn med s-interpolatoren for å sette inn verdier i flerlinjetekst.
Plasser s foran de innledende tre anførselstegnene, og bruk deretter $variable som vanlig.
val name = "Sam"
val msg = s"""Hi $name,
|Welcome aboard!""".stripMargin
println(msg)Bygge en SQL-spørring
Flerlinjestrenger er svært nyttige når De skriver SQL eller annen lang tekst i backend-kode.
Oppsettet forblir lesbart både i kildekoden og i resultatet.
val query = """SELECT id, name
|FROM users
|WHERE active = true""".stripMargin
println(query)Anførselstegn inni anførselstegn
Inne i tre anførselstegn trenger vanlige doble anførselstegn ingen escaping. Dermed slipper De rotet med å skrive \" overalt.
Dette passer perfekt når De bygger inn JSON eller siterte uttrykk.
val line = """He said "hello" to me"""
println(line)Kombinere med metoder
En flerlinjestreng er fortsatt en vanlig String, så alle de vanlige metodene fungerer på den.
Her trimmer vi teksten og teller lengden etter at margen er fjernet.
val block = """abc
|def""".stripMargin
println(block.length)
println(block.toUpperCase)Hurtigsjekk
Hvordan fjerner De innledende indentering fra en flerlinjestreng?
Oppsummering
De har lært å skrive flerlinjetekst med tre anførselstegn """...""", som bevarer linjeskift og ikke krever escaping av anførselstegn.
De har brukt stripMargin med en |-markør for å holde koden ryddig, kombinert dette med s-interpolatoren og brukt vanlige strengmetoder på resultatet.
Lær deg Scala med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 39
- Leksjoner
- 143
Ofte stilte spørsmål
Er leksjonen «Strenger over flere linjer» gratis?
Ja – hele teksten i «Strenger over flere linjer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Scala for backendutvikling og funksjonell programmering-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Scala for backendutvikling og funksjonell programmering inneholder totalt 4 leksjoner.
Hva lærer jeg i «Strenger over flere linjer»?
Bruk blokker med tre anførselstegn. Du øver på Scala for backendutvikling og funksjonell programmering med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Scala for backendutvikling og funksjonell programmering?
Ingen tidligere erfaring er nødvendig. Scala for backendutvikling og funksjonell programmering på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Strenger over flere linjer»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Scala for backendutvikling og funksjonell programmering-leksjonen?
Ja. Alle Scala for backendutvikling og funksjonell programmering-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Grunnleggende om strenger
- s-, f- og raw-interpolatorer
- Vanlige strengmetoder
- Strenger over flere linjer