Values, Types, and Expressions
String Interpolation
Build text by placing values inside a string.
string-interpolation
String interpolation lets an expression include values directly inside readable text.
String Interpolation
StringInterpolation.scala
Replay: real traced execution (multi-file project)
object Main {
def main(args: Array[String]): Unit = {
val name = "Mira"
val tasks = 3
val message = s"$name has $tasks tasks"
println("name=" + name)
println("message=" + message)
}
}
object Main {
def main(args: Array[String]): Unit = {
val name = "Kai"
val tasks = 3
val message = s"$name has $tasks tasks"
println("name=" + name)
println("message=" + message)
}
}
object Main {
def main(args: Array[String]): Unit = {
val name = "Zoe"
val tasks = 3
val message = s"$name has $tasks tasks"
println("name=" + name)
println("message=" + message)
}
}
name ← Mira, tasks ← 3, message ← Mira has 3 tasks
1object Main {2 def main(args: Array[String]): Unit = {3 val name→ Mira = "Mira" //@name="Kai", "Zoe"4 val tasks→ 3 = 35 val message→ Mira has 3 tasks = s"$nameMira has $tasks3 tasks"67 println("name=" + nameMira)8 println("message=" + messageMira has 3 tasks)9 }10}outputname=Mira message=Mira has 3 tasks
name ← Kai, tasks ← 3, message ← Kai has 3 tasks
1object Main {2 def main(args: Array[String]): Unit = {3 val name→ Kai = "Kai"4 val tasks→ 3 = 35 val message→ Kai has 3 tasks = s"$nameKai has $tasks3 tasks"67 println("name=" + nameKai)8 println("message=" + messageKai has 3 tasks)9 }10}outputname=Kai message=Kai has 3 tasks
name ← Zoe, tasks ← 3, message ← Zoe has 3 tasks
1object Main {2 def main(args: Array[String]): Unit = {3 val name→ Zoe = "Zoe"4 val tasks→ 3 = 35 val message→ Zoe has 3 tasks = s"$nameZoe has $tasks3 tasks"67 println("name=" + nameZoe)8 println("message=" + messageZoe has 3 tasks)9 }10}outputname=Zoe message=Zoe has 3 tasks
Follow the Text
namestarts asMira.tasksis3.- The message inserts both values.
messagebecomesMira has 3 tasks.- The program prints
name=Miraandmessage=Mira has 3 tasks. | name | tasks | message | | --- | --- | --- | | Mira | 3 | Mira has 3 tasks | | Kai | 3 | Kai has 3 tasks | | Zoe | 3 | Zoe has 3 tasks |
Exercise: StringInterpolation.scala
Reproduce message=Mira has 3 tasks, then use names Kai and Zoe to predict each message.