Types and Strings
String Interpolation
String interpolation inserts values into a string by writing expressions inside
\(...).
Build a sentence
string_interpolation.swift
Replay: real traced execution (multi-file project)
let language = "Swift"
let version = 6
let sentence = "\(language) version \(version)"
let loud = sentence + "!"
print(sentence)
print(loud)
let language = "Kotlin"
let version = 6
let sentence = "\(language) version \(version)"
let loud = sentence + "!"
print(sentence)
print(loud)
let language = "Ruby"
let version = 6
let sentence = "\(language) version \(version)"
let loud = sentence + "!"
print(sentence)
print(loud)
language ← Swift, version ← 6, sentence ← Swift version 6, loud ← Swift version 6!
1let language→ Swift = "Swift" //@language="Kotlin", "Ruby"2let version→ 6 = 63let sentence→ Swift version 6 = "\(languageSwift) version \(version6)"4let loud→ Swift version 6! = sentenceSwift version 6 + "!"56print(sentenceSwift version 6)7print(loudSwift version 6!)outputSwift version 6 Swift version 6!
language ← Kotlin, version ← 6, sentence ← Kotlin version 6, loud ← Kotlin version 6!
1let language→ Kotlin = "Kotlin"2let version→ 6 = 63let sentence→ Kotlin version 6 = "\(languageKotlin) version \(version6)"4let loud→ Kotlin version 6! = sentenceKotlin version 6 + "!"56print(sentenceKotlin version 6)7print(loudKotlin version 6!)outputKotlin version 6 Kotlin version 6!
language ← Ruby, version ← 6, sentence ← Ruby version 6, loud ← Ruby version 6!
1let language→ Ruby = "Ruby"2let version→ 6 = 63let sentence→ Ruby version 6 = "\(languageRuby) version \(version6)"4let loud→ Ruby version 6! = sentenceRuby version 6 + "!"56print(sentenceRuby version 6)7print(loudRuby version 6!)outputRuby version 6 Ruby version 6!
Follow the Sentence
languagestarts asSwift.versionis6.sentencebecomesSwift version 6.loudadds!to makeSwift version 6!.- The program prints both lines. | language | sentence | loud | | --- | --- | --- | | Swift | Swift version 6 | Swift version 6! | | Kotlin | Kotlin version 6 | Kotlin version 6! | | Ruby | Ruby version 6 | Ruby version 6! |
interpolation
Inside a string literal, `\(value)` evaluates the value and inserts its text.
Exercise: string_interpolation.swift
Reproduce Swift version 6 and Swift version 6!, then use Kotlin and Ruby to predict both printed lines.