Я новичок в 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) В чем причина не допущения правильного параллельного назначения?