У Scala є два вида змінних - var (від variable - змінна) і val (від value - значення). var є власне змінною - її можна переприсвоювати

var msg = "Привіт!"
msg = "Привіт світ!"

val один раз ініціалізується, після чого присвоювати їй нове значення не можна

val msg = "Привіт!"

Скала застосовує автоматичний вивід типів, оскільки змінна ініціалізується рядком, компілятор може сам визначити тип змінної, і наступне явне оголошення типу необов'язкове

val msg: String = "Привіт!"

Кортежі (Tuples)

ред.
val (msg, num, bool) = ("Привіт!", 3, true)
println ( msg + " " + num + " " + bool)

Або

val tuple = ("Привіт!", 3, true)
println ( tuple._1 + " " + tuple._2 + " " + tuple._3)

Пари, різні способи задання

val p1 =  1 -> 2
val p2 =  (1, 2)
val p3 = Tuple2(1, 2)
val p4 = Pair(1, 2)