如果那么在地图中的其他地方

Saq*_*Ali 0 functional-programming scala

什么是更简洁的方式来表示以下If if else:

val result = scores.map(score =>
  if (score == 0)
    ("retake", 1)
  else if (score < 0)
    ("fail", 1)
  else
    ("pass", 1)
)
Run Code Online (Sandbox Code Playgroud)

Tza*_*har 9

使用模式匹配:

val result = scores.map { 
  case 0 => ("retake", 1)
  case s if s < 0 => ("fail", 1)
  case _ => ("pass", 1)
}
Run Code Online (Sandbox Code Playgroud)