Может быть, я что-то отсутствует очевидный, но это просто приложение не работает:Добавление записей карты проваливается в программе, но работает в переводчика
object runnable extends App {
Test.calculate
}
object Test {
val c = Map[Int, Int]()
def calculate {
c + (1 -> 2)
}
...
И установить точку останова в отладчике сразу после этой линии, содержание карты является Map()
но если я эквивалент в РЕПЛ:
val c = Map[Int,Int]()
c: scala.collection.immutable.Map[Int,Int] = Map()
c+(1->2)
res2: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2)
Я даже попытался сделать карту изменяемой в коде приложения, но я t не работает.
Я что-то упустил?
Спасибо.
Добавить '=' для расчета 'def calculate =' –
Я действительно хотел продемонстрировать, что добавление записей на карту не работает, используя функцию Unit. Я хочу понять, возможно ли создать поле экземпляра в качестве побочного эффекта вызова функции. Эта тестовая функция не является фактическим кодом, но она эмулирует поведение, которое я пытаюсь понять. –