Я знаю, что Scala имеет var
(для изменяемого состояния), но чисто функциональное программирование препятствует использованию любого изменяемого состояния и скорее фокусируется на использовании val
для всего.
Из императивного мира трудно отказаться от изменчивого состояния.
Мой вопрос в том, когда можно использовать var в коде Scala? Может ли все код действительно выполняться с использованием только val. Если да, то почему у Scala есть вары?