1
에서 나는 다음과 같은 코드로 컴파일 시간 오류가 점점 오전 :튜플과 경우 스칼라
val bestModel = model
val bestEvals: List[Double] = null
... <code, including code that initializes bestEvals> ...
(bestModel, bestEvals) = if (allAgreeBetter)
(updatedModel, currentEvals.map {case (eval, _) => eval}.toList)
else
(bestModel, bestEvals)
오류가 (있습니다) :
Error:(203, 34) ';' expected but '=' found.
(bestModel, bestEvals) = if (allAgreeBetter)
Error:(205, 11) ';' expected but 'else' found.
else
나는 무엇을 그리워 했습니까? 이 문장을 꺼내면 코드가 컴파일되어 제대로 실행되므로 문제는 특히이 문장에 있습니다.
답을 추가하면 값을 'val'바인딩에 다시 할당 할 수 없습니다. 당신은'var'을 사용해야 할 것입니다. 다중 할당의 경우,'if (x) {y = z; a = b} else {y = z2; a = b2}'. 또한'{case (eval, _) => eval}'은'_. 1 '로보다 간결하게 표현 될 수 있습니다. – Yawar