如果我使用
loginError := if (loginItem.username.isEmpty) None else Some(loginItem.isUsernameValid)
编译说:
illegal start of simple expression
更改为
时val err = if (loginItem.username.isEmpty) None else Some(loginItem.isUsernameValid)
loginError := err
一切都很顺利。
为什么我必须使用临时变量?
答案 0 :(得分:3)
在第一种情况下,你需要在if表达式周围使用括号,因为(在外行人的条款中)if的优先级低于:=
:
loginError := (if (loginItem.username.isEmpty) None else Some(loginItem.isUsernameValid))
答案 1 :(得分:0)