Часто бывает, что вы можете переделать свой код, чтобы избежать проблемы. Рассмотрим простой и распространенный пример:
var x = 0
if(something)
x = 5
else
x = 6
println(x)
Это был бы довольно распространенный шаблон в большинстве языков, но у Scala есть лучший способ сделать это. В частности, операторы if могут возвращать значения, поэтому лучше использовать следующий метод:
val x =
if(something)
5
else
6
println(x)
Так что мы можем сделать x
в конце концов.
Теперь, очевидно, ваш код можно переписать, чтобы использовать все val
s:
val myList:A = List(...)
for (iteration <- 1 to 5)
process(myList)
val myOptimizedList = optimize(myList)
for (iteration <- 5 to 100)
process(myOptimizedList)
Но я подозреваю, что это просто пример, а не ваш реальный случай. Но если вы не знаете, как изменить реальный код для выполнения чего-то подобного, пожалуйста, покажите нам, как он выглядит.