Swift programs can run as small scripts. Start with a value, build a message, and print the result.

Print a greeting

name
hello.swift
Replay: real traced execution (multi-file project)
let name = "Ava"
let message = "Hello, \(name)!"
print(message)
let name = "Mina"
let message = "Hello, \(name)!"
print(message)
let name = "Kai"
let message = "Hello, \(name)!"
print(message)
  1. name ← Ava, message ← Hello, Ava!

    1let name→ Ava = "Ava"  //@name="Mina", "Kai"2let message→ Hello, Ava! = "Hello, \(nameAva)!"3print(messageHello, Ava!)
    outputHello, Ava!
  1. name ← Mina, message ← Hello, Mina!

    1let name→ Mina = "Mina"2let message→ Hello, Mina! = "Hello, \(nameMina)!"3print(messageHello, Mina!)
    outputHello, Mina!
  1. name ← Kai, message ← Hello, Kai!

    1let name→ Kai = "Kai"2let message→ Hello, Kai! = "Hello, \(nameKai)!"3print(messageHello, Kai!)
    outputHello, Kai!

Follow the Greeting

  1. name starts as "Ava".
  2. The message text uses \(name).
  3. message becomes Hello, Ava!.
  4. print(message) prints Hello, Ava!. | name | message | | --- | --- | | Ava | Hello, Ava! | | Mina | Hello, Mina! | | Kai | Hello, Kai! |
print `print(...)` writes a value followed by a newline.

Exercise: hello.swift

Reproduce Hello, Ava!, then try Mina and Kai and predict each greeting before running it.