У меня есть следующий код scala. В этом коде я пропускание (глобальное) имя строки в функцию и хочу изменить строку в зависимости от первого аргумента, как показано ниже:Передача аргументов функции по имени Scala
def retVal(x: (String,String), y: => String) = {if (x._1 != "") {y = x._1;x} else (y,x._2)}
Но когда я запускаю этот код, я получаю следующее сообщение об ошибке :
y = x._1
^
reassignment to a val
Как я могу изменить код, чтобы получить глобальную строковую переменную, обновленную при вызове этой функции?
Вы, вероятно, делаете что-то неправильно. Обычно вам не нужны такие функции, как ваш 'retVal'. Можете ли вы показать нам контекст, в котором вы вызываете 'retVal'? – TeWu