Foundations
Hello Scala
Start with a tiny Scala program that stores a name and prints a greeting.
main method
A runnable Scala program can start from a `main` method inside an object.
Hello Scala
Hello.scala
Replay: real traced execution (multi-file project)
object Main {
def main(args: Array[String]): Unit = {
val name = "Scala"
val message = "Hello, " + name + "!"
println(message)
}
}
object Main {
def main(args: Array[String]): Unit = {
val name = "Ada"
val message = "Hello, " + name + "!"
println(message)
}
}
object Main {
def main(args: Array[String]): Unit = {
val name = "Martin"
val message = "Hello, " + name + "!"
println(message)
}
}
name ← Scala, message ← Hello, Scala!
1object Main {2 def main(args: Array[String]): Unit = {3 val name→ Scala = "Scala" //@name="Ada", "Martin"4 val message→ Hello, Scala! = "Hello, " + nameScala + "!"56 println(messageHello, Scala!)7 }8}outputHello, Scala!
name ← Ada, message ← Hello, Ada!
1object Main {2 def main(args: Array[String]): Unit = {3 val name→ Ada = "Ada"4 val message→ Hello, Ada! = "Hello, " + nameAda + "!"56 println(messageHello, Ada!)7 }8}outputHello, Ada!
name ← Martin, message ← Hello, Martin!
1object Main {2 def main(args: Array[String]): Unit = {3 val name→ Martin = "Martin"4 val message→ Hello, Martin! = "Hello, " + nameMartin + "!"56 println(messageHello, Martin!)7 }8}outputHello, Martin!
What Happens
namestarts as"Scala".- The message joins
"Hello, ",name, and"!". messagebecomesHello, Scala!.- The program prints
Hello, Scala!.
Follow the Values
| name | message |
| --- | --- |
| Scala | Hello, Scala! |
| Ada | Hello, Ada! |
| Martin | Hello, Martin! |
Exercise: Hello.scala
Reproduce Hello, Scala!, then use the pinned names Ada and Martin to predict each greeting.