0Pricing
Swift Academy · Lección

Interpolación personalizada de cadenas

Amplíe la interpolación con sus propios segmentos.

Interpolación personalizada de cadenas es una lección gratuita de Swift Academy 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 Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Interpolación de cadenas personalizada

Swift le permite ampliar el funcionamiento de la interpolación añadiendo métodos a String.StringInterpolation. Así puede personalizar lo que ocurre con determinados tipos de argumentos o etiquetas.

extension String.StringInterpolation {
    mutating func appendInterpolation(shout value: String) {
        appendLiteral(value.uppercased() + "!")
    }
}
print("Message: \(shout: "hello")")

El método appendInterpolation

Cada interpolación personalizada es un mutating func appendInterpolation(...). Sus parámetros definen lo que escribe entre los paréntesis de una cadena.

extension String.StringInterpolation {
    mutating func appendInterpolation(repeat text: String, times: Int) {
        appendLiteral(String(repeating: text, count: times))
    }
}
print("\(repeat: "ab", times: 3)")

appendLiteral y appendInterpolation

Dentro de un método personalizado, construye la salida llamando a appendLiteral para el texto normal y reutilizando las interpolaciones existentes para los valores.

extension String.StringInterpolation {
    mutating func appendInterpolation(twice value: Int) {
        appendLiteral("\(value)\(value)")
    }
}
print("\(twice: 7)")

Argumentos de interpolación etiquetados

La etiqueta del primer parámetro se convierte en la palabra clave que utiliza, como en \(shout: ...). Esto deja clara la intención en el lugar de la llamada.

extension String.StringInterpolation {
    mutating func appendInterpolation(currency amount: Double) {
        appendLiteral(String(format: "$%.2f", amount))
    }
}
print("Price: \(currency: 9.5)")

Varios parámetros

Las interpolaciones personalizadas pueden aceptar varios parámetros, lo que le permite pasar opciones junto con el valor.

extension String.StringInterpolation {
    mutating func appendInterpolation(_ value: Double, places: Int) {
        appendLiteral(String(format: "%.\(places)f", value))
    }
}
print("\(3.14159, places: 2)")

Dar formato a valores

Un uso habitual es presentar un valor de una forma específica del dominio, como rellenar un número hasta alcanzar un ancho fijo.

extension String.StringInterpolation {
    mutating func appendInterpolation(padded value: Int, width: Int) {
        appendLiteral(String(format: "%0\(width)d", value))
    }
}
print("ID: \(padded: 42, width: 5)")

Salida condicional

La interpolación personalizada puede incluir lógica y producir texto diferente según la entrada.

extension String.StringInterpolation {
    mutating func appendInterpolation(yesNo flag: Bool) {
        appendLiteral(flag ? "Yes" : "No")
    }
}
print("Active: \(yesNo: true)")

Reutilizar interpolaciones existentes

Dentro de su método puede llamar a appendInterpolation para tipos integrados y construir sobre el comportamiento estándar.

extension String.StringInterpolation {
    mutating func appendInterpolation(bracketed value: Int) {
        appendLiteral("[")
        appendInterpolation(value)
        appendLiteral("]")
    }
}
print("\(bracketed: 9)")

Valores predeterminados de los parámetros

Las interpolaciones personalizadas pueden asignar valores predeterminados a los parámetros, de modo que los llamadores puedan omitirlos.

extension String.StringInterpolation {
    mutating func appendInterpolation(money value: Double, symbol: String = "$") {
        appendLiteral(symbol + String(format: "%.2f", value))
    }
}
let sym = "EUR "
print("\(money: 5.0)")
print("\(money: 5.0, symbol: sym))")

Cuándo usar la interpolación personalizada

Recurra a la interpolación personalizada cuando un patrón de formato se repita en su código; así centralizará la lógica detrás de un lugar de llamada claro.

extension String.StringInterpolation {
    mutating func appendInterpolation(stars n: Int) {
        appendLiteral(String(repeating: "*", count: n))
    }
}
print("Rating: \(stars: 4)")

Resumen de la interpolación personalizada

Al ampliar String.StringInterpolation, convierte el formato repetitivo en una sintaxis legible y reutilizable integrada directamente en las cadenas.

extension String.StringInterpolation {
    mutating func appendInterpolation(percent value: Double) {
        appendLiteral(String(format: "%.0f%%", value * 100))
    }
}
print("Done: \(percent: 0.75)")

Comprobación rápida

Recuerde el mecanismo en el que se basa la interpolación personalizada.

Repaso: interpolación de cadenas personalizada

Ha aprendido que ampliar String.StringInterpolation con métodos appendInterpolation permite definir una nueva sintaxis de interpolación; que puede usar appendLiteral e interpolaciones anidadas para construir la salida; y que las etiquetas, los parámetros múltiples y los valores predeterminados permiten crear formatos limpios y reutilizables.

extension String.StringInterpolation {
    mutating func appendInterpolation(upper value: String) {
        appendLiteral(value.uppercased())
    }
}
print("Hello \(upper: "swift")")

Preguntas frecuentes

¿La lección «Interpolación personalizada de cadenas» es gratis?

Sí — el texto completo de «Interpolación personalizada de cadenas» 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 Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Interpolación personalizada de cadenas»?

Amplíe la interpolación con sus propios segmentos. Practicas Swift Academy 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 Swift Academy?

No se requiere experiencia previa. Swift Academy 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 «Interpolación personalizada de cadenas»?

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 Swift Academy?

Sí. Cada lección de Swift Academy 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. Interpolación básica de cadenas
  2. Formato de números en cadenas
  3. Literales de cadena multilínea
  4. Interpolación personalizada de cadenas
← Volver a Swift Academy