typestar

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

  1. s"$bookTitle has $members readers" inserta dos valores, y ${12 - members} envuelve una expresión entera.
  2. f"$bookTitle%s scored $averageRating%.1f" redondea a un decimal, y $members%3d rellena a tres columnas.
  3. raw"shelves\north\fiction" no toca el escape: \n queda como dos caracteres.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 3 en Valores y tipos; paso 3 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →