假设有一个 Scala 的 case-class
有没有类似下面代码的语法糖?
Point
。case class Point(x: Int, y: Int)
可以使用通配符进行匹配:
val p = new Point(1,2)
val inRightHalfPlane = p match {
case Point(x, _) if x>0 => true
case _ => false
}
然而,如果成员数量增加,就需要使用更多的通配符 _
:
case class Point(
x0: Int,
x1: Int,
x2: Int,
x3: Int,
x4: Int,
)
val flag = p match {
case Point(x,_,_,_,_,) if x>0 => true
......
}
有没有类似下面代码的语法糖?
val flag = p match {
case Point(x0=x) if x>0 => true
......
}
case p: Point if (p.x0) => true
。我同意你建议的方式会更好。 - Luis Miguel Mejía Suárez