Merkkijonon interpolointi

Swift:
Merkkijonon interpolointi

How to:

let name = "Matti"
let age = 30
let greeting = "Hei, nimeni on \(name) ja olen \(age) vuotta vanha."
print(greeting)

Output:

Hei, nimeni on Matti ja olen 30 vuotta vanha.

Deep Dive

Merkkijonon interpolointi otettiin Swiftiin käyttöön heti kielen ensiversioissa, helpottamaan merkkijonojen muodostamista ilman että tarvittaisiin monimutkaisia konkatenointeja kuten vaikkapa Objective-C:ssä. Aiempina aikoina päätyttiin käyttämään sprintf-tyylistä formaattia tai jäykkiä merkkijonoja, jotka eivät sopineet dynaamisiin sisältöihin. Swiftissä interpolointi tapahtuu lisäämällä arvo suoraan merkkijonoon käyttäen (arvo) syntaksia.

Vaihtoehtoina merkkijonon interpolointiin voisi käyttää konkatenointia tai String(format:)-metodia, mutta nämä ovat usein sekavampia ja virhealttiimpia tapoja. Tarkemmalla tasolla, kun interpoloit merkkijonoa Swiftissä, kompilaattori korvaa interpoloidut osat niiden merkkijonoesityksillä runtime-aikana. Tämä mahdollistaa monimutkaisten lausekkeiden laskemisen ja muuttujien arvojen upottamisen suoraan merkkijonoon ilman ylimääräistä vaivaa.

See Also