Brug af REPL
Interaktiv Scala
Brug af REPL er en gratis Scala til backendudvikling og funktionel programmering-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Scala til backendudvikling og funktionel programmering, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Scala til backendudvikling og funktionel programmering-kurset indeholder 4 lektioner i alt.
Hvad er REPL?
REPL står for Read-Eval-Print Loop. Det er en interaktiv skal, hvor du skriver Scala-udtryk og straks ser deres resultater.
Du starter den ved at køre scala (eller scala-cli repl) i din terminal. Det er den hurtigste måde at eksperimentere med sproget på uden at skrive et helt program.
Dit første udtryk
Skriv et vilkårligt udtryk, og tryk på Enter. REPL evaluerer det og udskriver resultatet, dets type og et genereret navn.
Hvis du for eksempel skriver 1 + 1, vises noget i stil med val res0: Int = 2.
object Main {
def main(args: Array[String]): Unit = {
println(1 + 1)
}
}res-variabler
Hvert resultat, du beregner, gemmes automatisk i en variabel med navnet resN (res0, res1, ...).
Du kan genbruge disse navne i senere udtryk, så REPL føles som en lommeregner, der kører.
object Main {
def main(args: Array[String]): Unit = {
val res0 = 2 + 3
val res1 = res0 * 10
println(res1)
}
}Typeoplysninger
En af de mest nyttige funktioner er, at REPL fortæller dig typen for hvert resultat.
Hvis du skriver "hello", udskrives val res0: String = hello. Det hjælper dig med at lære, hvad Scala udleder for ethvert udtryk.
object Main {
def main(args: Array[String]): Unit = {
val greeting = "hello"
println(greeting)
}
}Definition af værdier
Du kan definere navngivne værdier i REPL ved hjælp af val. De bevares resten af sessionen.
Når de først er defineret, kan du referere til dem på enhver senere linje.
object Main {
def main(args: Array[String]): Unit = {
val pi = 3.14159
val radius = 2.0
println(pi * radius * radius)
}
}Definition af funktioner
Du er ikke begrænset til enkeltlinjer. Du kan definere funktioner direkte i REPL og kalde dem med det samme.
Det giver dig mulighed for at opbygge små hjælpefunktioner og teste dem med det samme.
object Main {
def square(x: Int): Int = x * x
def main(args: Array[String]): Unit = {
println(square(5))
}
}Input over flere linjer
Hvis du skriver noget ufuldstændigt (for eksempel en åben klammeparentes), viser REPL en fortsættelsesprompt og venter på resten.
Det betyder, at du naturligt kan indsætte eller skrive definitioner over flere linjer, uden at REPL forsøger at evaluere for tidligt.
object Main {
def main(args: Array[String]): Unit = {
val total =
1 +
2 +
3
println(total)
}
}Import i REPL
Du kan bruge import til hvad som helst i REPL, ligesom i en fil. Det er praktisk, når du vil hente hjælpefunktioner fra standardbiblioteket.
For eksempel giver import scala.math.* dig sqrt, abs og meget mere.
import scala.math.sqrt
object Main {
def main(args: Array[String]): Unit = {
println(sqrt(16.0))
}
}Nyttige REPL-kommandoer
REPL har særlige kommandoer, der begynder med et kolon:
:helpviser alle kommandoer:resetrydder din session:quitafslutter REPL:type exprviser typen af et udtryk uden at køre det
Hvorfor bruge REPL?
REPL er perfekt til:
- Hurtigt at afprøve en ukendt API
- At kontrollere, hvilken type et udtryk giver
- At lave en prototype af logik, før den føjes til et projekt
- At lære sproget interaktivt
Kombination af det hele
I én session kan du definere værdier, skrive funktioner, importere biblioteker og kæde resultater sammen. REPL holder det hele inden for samme synlighedsområde.
Her er et lille eksempel, som du kan opbygge linje for linje.
object Main {
def celsiusToF(c: Double): Double = c * 9 / 5 + 32
def main(args: Array[String]): Unit = {
val temps = List(0.0, 25.0, 100.0)
println(temps.map(celsiusToF))
}
}Hurtig kontrol
Test din forståelse af Scala REPL.
Opsummering
Du har lært, at REPL er en interaktiv Read-Eval-Print Loop til Scala.
- Den udskriver værdien, typen og et automatisk
resN-navn for hvert resultat - Du kan definere
val-er og funktioner, som bevares i sessionen - Du kan bruge
importtil at importere biblioteker og skrive input over flere linjer - Kommandoer som
:type,:resetog:quitstyrer sessionen
Lær Scala med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 39
- Lektioner
- 143
Ofte stillede spørgsmål
Er lektionen “Brug af REPL” gratis?
Ja — hele teksten til “Brug af REPL” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Scala til backendudvikling og funktionel programmering-kurset, skal du opgradere til CoddyKit PRO. Scala til backendudvikling og funktionel programmering-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Brug af REPL”?
Interaktiv Scala Du øver dig i Scala til backendudvikling og funktionel programmering med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Scala til backendudvikling og funktionel programmering?
Der kræves ingen tidligere erfaring. Scala til backendudvikling og funktionel programmering på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Brug af REPL”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Scala til backendudvikling og funktionel programmering-lektion?
Ja. Alle Scala til backendudvikling og funktionel programmering-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.