0Pricing
Scala for Backend Engineering & Functional Programming · Lección

Cadenas multilínea

Use bloques entre comillas triples

Cadenas multilínea es una lección gratuita de Scala for Backend Engineering & Functional Programming en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Scala for Backend Engineering & Functional Programming, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Scala for Backend Engineering & Functional Programming incluye 4 lecciones en total.

¿Qué son las cadenas multilínea?

A veces necesita texto que ocupe varias líneas, como un mensaje, JSON o una consulta SQL.

Scala permite escribirlo con comillas triples, que conservan exactamente los saltos de línea tal como los escribe.

val text = """Line one
Line two"""
println(text)

Sintaxis con comillas triples

Rodee el texto con tres comillas dobles a cada lado: """...""".

Dentro, no necesita escapar las comillas dobles normales, lo que resulta ideal para texto que contiene comillas.

val json = """{"name": "Ada"}"""
println(json)

Saltos de línea reales

En una cadena entre comillas triples, al pulsar Intro se crea un salto de línea real en el valor.

Esto resulta ideal para bloques de texto cuyo diseño desea conservar.

object Main extends App {
  val poem = """Roses are red
Scala is neat"""
  println(poem)
}

El problema de la indentación

Si indenta una cadena multilínea en el código, esos espacios iniciales pasan a formar parte del valor.

A menudo esto se ve desordenado al mostrarlo. Scala ofrece una forma sencilla de eliminar la indentación.

val msg = """Hello
    World"""
println(msg)

stripMargin

stripMargin elimina los espacios en blanco iniciales hasta un carácter de margen, que de forma predeterminada es |.

Ponga un | al principio de cada línea y después llame a stripMargin para alinear el código correctamente.

val msg = """Hello
    |World""".stripMargin
println(msg)

Un bloque multilínea limpio

Combinar comillas triples con stripMargin produce código legible y una salida limpia.

Cada línea comienza con |, que se elimina al mostrar el texto.

object Main extends App {
  val report = """Report
    |Total: 5
    |Done!""".stripMargin
  println(report)
}

Carácter de margen personalizado

Puede pasar un carácter de margen diferente a stripMargin si | entra en conflicto con el texto.

Por ejemplo, puede usar # como marcador de margen.

val s = """One
    #Two""".stripMargin('#')
println(s)

Multilínea con interpolación

Puede combinar las comillas triples con el interpolador s para insertar valores en texto multilínea.

Ponga s antes de las comillas triples de apertura y use $variable como de costumbre.

val name = "Sam"
val msg = s"""Hi $name,
    |Welcome aboard!""".stripMargin
println(msg)

Construir una consulta SQL

Las cadenas multilínea son especialmente útiles al escribir SQL u otro texto largo en código backend.

El diseño sigue siendo legible tanto en el código fuente como en la salida.

val query = """SELECT id, name
    |FROM users
    |WHERE active = true""".stripMargin
println(query)

Comillas dentro de comillas

Dentro de las comillas triples, las comillas dobles normales no necesitan escape. Esto evita el desorden de escribir \" por todas partes.

Es perfecto para insertar JSON o frases entrecomilladas.

val line = """He said "hello" to me"""
println(line)

Combinar con métodos

Una cadena multilínea sigue siendo un String normal, por lo que todos los métodos habituales funcionan con ella.

Aquí eliminamos los espacios y contamos la longitud después de quitar el margen.

val block = """abc
    |def""".stripMargin
println(block.length)
println(block.toUpperCase)

Comprobación rápida

¿Cómo se elimina la indentación inicial de una cadena multilínea?

Resumen

Ha aprendido a escribir texto multilínea con comillas triples """...""", que conservan los saltos de línea y no necesitan escapar las comillas.

Ha usado stripMargin con un marcador | para mantener ordenado el código, lo ha combinado con el interpolador s y ha aplicado métodos normales de cadenas al resultado.

Preguntas frecuentes

¿La lección «Cadenas multilínea» es gratis?

Sí — el texto completo de «Cadenas multilínea» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Scala for Backend Engineering & Functional Programming, actualiza a CoddyKit PRO. El curso de Scala for Backend Engineering & Functional Programming incluye 4 lecciones en total.

¿Qué aprenderé en «Cadenas multilínea»?

Use bloques entre comillas triples Practicas Scala for Backend Engineering & Functional Programming con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Scala for Backend Engineering & Functional Programming?

No se requiere experiencia previa. Scala for Backend Engineering & Functional Programming en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Cadenas multilínea»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Scala for Backend Engineering & Functional Programming?

Sí. Cada lección de Scala for Backend Engineering & Functional Programming incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conceptos básicos de las cadenas
  2. Interpoladores s, f y raw
  3. Métodos habituales de las cadenas
  4. Cadenas multilínea
← Volver a Scala for Backend Engineering & Functional Programming