Я новичок в Scala, и наткнулся на небольшой сбой, который меня раздражал.
Инициализация двух переменных параллельно работает отлично: var (x,y) = (1,2)
Однако я не могу найти способ назначать новые значения параллельно: (x,y) = (x+y,y-x) //invalid syntax
В итоге я пишу что-то вроде этого: val xtmp = x+y; y = x-y; x = xtmp
Я понимаю, что написание функционального кода - один из способов избежать этого, но в некоторых ситуациях переменные имеют больше смысла.
У меня два вопроса:
1) Есть ли лучший способ сделать это? Я что-то упустил?
2) По какой причине не разрешено истинное параллельное назначение?