什么是更简洁的方式来表示以下If if else:
val result = scores.map(score =>
if (score == 0)
("retake", 1)
else if (score < 0)
("fail", 1)
else
("pass", 1)
)
答案 0 :(得分:9)
使用模式匹配:
val result = scores.map {
case 0 => ("retake", 1)
case s if s < 0 => ("fail", 1)
case _ => ("pass", 1)
}
答案 1 :(得分:3)
与守卫进行模式匹配
scores map {
case 0 => "retake" -> 1
case x if x < 0 => "fail" -> 1
case _ => "pass" -> 1
}