Interpolación de cadenas en Scala
Tres interpoladores: s para valores, f para salida formateada, raw para escapes intactos.
val bookTitle = "Piranesi"
val members = 7
val averageRating = 4.36
// s"..." splices a value; use ${...} for a whole expression.
val blurb = s"$bookTitle has $members readers"
val spotsLine = s"Room for ${12 - members} more"
// f"..." adds format specifiers and checks them while compiling.
val scoreLine = f"$bookTitle%s scored $averageRating%.1f"
val paddedLine = f"$members%3d copies on hand"
// raw"..." leaves escapes alone: the \n in \north stays literal.
val shelfPath = raw"shelves\north\fiction"
def showBook(): Unit =
println(blurb)
println(spotsLine)
println(scoreLine)
println(paddedLine + " " + shelfPath)
Cómo funciona
s"$bookTitle has $members readers"inserta dos valores, y${12 - members}envuelve una expresión entera.f"$bookTitle%s scored $averageRating%.1f"redondea a un decimal, y$members%3drellena a tres columnas.raw"shelves\north\fiction"no toca el escape:\nqueda como dos caracteres.
Palabras clave y builtins usados aquí
defval
El intento, en números
- Líneas
- 20
- Caracteres a escribir
- 623
- Tokens
- 88
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 70 segundos.
Paso 3 de 3 en Valores y tipos; paso 3 de 27 en Fundamentos del lenguaje.