0Pricing
Swift Academy · Lezione

Interpolazione di stringhe personalizzata

Estendi l’interpolazione con i tuoi segmenti.

Interpolazione di stringhe personalizzata è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Interpolazione personalizzata delle stringhe

Swift consente di estendere il funzionamento dell'interpolazione aggiungendo metodi a String.StringInterpolation. In questo modo può personalizzare il comportamento per specifici tipi di argomenti o etichette.

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

Il metodo appendInterpolation

Ogni interpolazione personalizzata è una mutating func appendInterpolation(...). I suoi parametri definiscono ciò che può scrivere tra le parentesi di una stringa.

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

appendLiteral e appendInterpolation

All'interno di un metodo personalizzato costruisce l'output chiamando appendLiteral per il testo semplice e riutilizzando le interpolazioni esistenti per i valori.

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

Argomenti con etichetta nell'interpolazione

L'etichetta del primo parametro diventa la parola chiave da usare, come in \(shout: ...). Questo rende chiara l'intenzione nel punto della chiamata.

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

Più parametri

Le interpolazioni personalizzate possono accettare diversi parametri, consentendo di passare opzioni insieme al valore.

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

Formattare le date dei valori

Un uso comune consiste nel presentare un valore in un modo specifico del dominio, ad esempio aggiungendo zeri a un numero fino a raggiungere una larghezza fissa.

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

Output condizionale

L'interpolazione personalizzata può includere della logica e produrre testo diverso in base all'input.

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

Riutilizzare le interpolazioni esistenti

All'interno del metodo può chiamare appendInterpolation per i tipi integrati, componendo il risultato a partire dal comportamento standard.

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

Valori predefiniti dei parametri

Le interpolazioni personalizzate possono assegnare valori predefiniti ai parametri, così chi le chiama può ometterli.

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))")

Quando usare l'interpolazione personalizzata

Ricorra all'interpolazione personalizzata quando un modello di formattazione si ripete nel codice; in questo modo centralizza la logica mantenendo pulito il punto della chiamata.

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

Riepilogo dell'interpolazione personalizzata

Estendendo String.StringInterpolation, trasforma la formattazione ripetitiva in una sintassi leggibile e riutilizzabile, incorporata direttamente nelle stringhe.

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

Controllo rapido

Ricordi il meccanismo alla base dell'interpolazione personalizzata.

Riepilogo: interpolazione personalizzata delle stringhe

Ha imparato che estendere String.StringInterpolation con metodi appendInterpolation consente di definire una nuova sintassi per l'interpolazione, usando appendLiteral e interpolazioni annidate per creare l'output, con etichette, più parametri e valori predefiniti per una formattazione pulita e riutilizzabile.

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

Domande Frequenti

La lezione «Interpolazione di stringhe personalizzata» è gratuita?

Sì — il testo completo di «Interpolazione di stringhe personalizzata» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Interpolazione di stringhe personalizzata»?

Estendi l’interpolazione con i tuoi segmenti. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Interpolazione di stringhe personalizzata»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Interpolazione di stringhe di base
  2. Formattazione dei numeri nelle stringhe
  3. Letterali stringa su più righe
  4. Interpolazione di stringhe personalizzata
← Torna a Swift Academy