Interpolacja napisów
s, f i raw
Interpolacja napisów to bezpłatna lekcja Scala for Backend Engineering & Functional Programming na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Scala for Backend Engineering & Functional Programming, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Scala for Backend Engineering & Functional Programming zawiera 4 lekcji w sumie.
Czym jest interpolacja napisów?
Interpolacja napisów pozwala wstawiać wartości bezpośrednio do literału napisu zamiast łączyć je za pomocą +.
Napis poprzedza się literą, taką jak s, f lub raw, a następnie używa $ do wstawiania wartości.
Interpolator s
Interpolator s wstawia wartość zmiennej w miejscu, w którym zapisano $name.
Jest to najczęściej używany interpolator i zastępuje nieporęczne łączenie napisów.
object Main {
def main(args: Array[String]): Unit = {
val name = "Ada"
println(s"Hello, $name!")
}
}Wyrażenia w nawiasach klamrowych
W przypadku konstrukcji bardziej złożonych niż prosta zmienna należy ująć wyrażenie w ${ ... }.
Nawiasy klamrowe wskazują interpolatorowi, gdzie wyrażenie się zaczyna i kończy.
object Main {
def main(args: Array[String]): Unit = {
val a = 4
val b = 6
println(s"Sum is ${a + b}")
}
}Wywoływanie metod wewnątrz
Wewnątrz ${ ... } można również wywoływać metody. Działa tam każde poprawne wyrażenie.
object Main {
def main(args: Array[String]): Unit = {
val word = "scala"
println(s"Upper: ${word.toUpperCase}")
}
}Interpolator f
Interpolator f dodaje formatowanie w stylu printf. Po wyrażeniu podaje się format, na przykład %.2f dla dwóch miejsc po przecinku.
Doskonale nadaje się do kwot, wartości procentowych i wyrównanego wyniku.
object Main {
def main(args: Array[String]): Unit = {
val price = 9.5
println(f"Price: $$$price%.2f")
}
}Formatowanie liczb całkowitych
Interpolator f formatuje również liczby całkowite, na przykład %d dla liczby dziesiętnej lub %05d do uzupełniania zerami.
object Main {
def main(args: Array[String]): Unit = {
val id = 42
println(f"ID: $id%05d")
}
}Interpolator raw
Interpolator raw działa podobnie jak s, ale nie przetwarza sekwencji ucieczki.
Dlatego \n pozostaje dwoma znakami: odwrotnym ukośnikiem i literą n, zamiast stać się znakiem nowego wiersza.
object Main {
def main(args: Array[String]): Unit = {
println(raw"line1\nline2")
}
}Porównanie s i raw
W przypadku s sekwencja ucieczki \n staje się rzeczywistym znakiem nowego wiersza. W przypadku raw pozostaje dosłowna.
Warto używać raw dla ścieżek, wzorców wyrażeń regularnych i wszędzie tam, gdzie odwrotne ukośniki powinny zostać zachowane.
object Main {
def main(args: Array[String]): Unit = {
println(s"a\nb")
println(raw"a\nb")
}
}Interpolacja w wielu wierszach
Interpolacja działa również z napisami ujętymi w potrójne cudzysłowy, które mogą obejmować wiele wierszy.
Doskonale nadaje się to do tworzenia czytelnego wyniku opartego na szablonie.
object Main {
def main(args: Array[String]): Unit = {
val user = "Grace"
val score = 95
println(s"""User: $user
Score: $score""")
}
}Escapowanie znaku dolara
Aby wyświetlić dosłowny znak dolara w interpolowanym napisie, należy zapisać $$.
Dzięki temu interpolator nie potraktuje go jako początku nazwy zmiennej.
object Main {
def main(args: Array[String]): Unit = {
val amount = 20
println(s"Cost: $$$amount")
}
}Łączenie elementów
W jednym interpolowanym komunikacie można połączyć zwykłe zmienne, wyrażenie w nawiasach klamrowych i wywołanie metody.
object Main {
def main(args: Array[String]): Unit = {
val item = "book"
val qty = 3
val each = 12.0
println(s"$qty ${item}s cost ${qty * each}")
}
}Szybkie sprawdzenie
Proszę sprawdzić swoją wiedzę o interpolatorach.
Podsumowanie
Dowiedzieli się Państwo o trzech głównych interpolatorach napisów w Scali:
swstawia zmienne i wyrażenia${expr}fdodaje formatowanie w stylu printf, takie jak%.2fi%05drawzachowuje sekwencje ucieczki dosłownie- Do zapisania dosłownego znaku dolara służy
$$ - Interpolacja działa również z wielowierszowymi napisami w potrójnych cudzysłowach
Często zadawane pytania
Czy lekcja „Interpolacja napisów” jest bezpłatna?
Tak — pełny tekst „Interpolacja napisów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Scala for Backend Engineering & Functional Programming, przejdź na CoddyKit PRO. Kurs Scala for Backend Engineering & Functional Programming zawiera 4 lekcji w sumie.
Co nauczysz się w „Interpolacja napisów”?
s, f i raw Ćwiczysz Scala for Backend Engineering & Functional Programming z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Scala for Backend Engineering & Functional Programming?
Nie wymagamy żadnego doświadczenia. Scala for Backend Engineering & Functional Programming w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Interpolacja napisów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Scala for Backend Engineering & Functional Programming?
Tak. Każda lekcja Scala for Backend Engineering & Functional Programming zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Korzystanie z REPL
- val, var i typy
- Wyrażenia zamiast instrukcji
- Interpolacja napisów