我有一个名为square的case类,我想访问一个名为side的变量。然后我想使用模式匹配来检测对象的类型是square和return side * side。但是当我运行下面的时候,我得到的值不是这个对象的成员A $ A43.this.square
case class square(side:Double)
def getArea(o: Object): Double = {
o match {
case s: square => s.side*s.side
case _ => 0
}
}
提前感谢您的任何建议或帮助。
答案 0 :(得分:0)
我遇到的问题是由于我使用的是非大写的案例类。因此,为了完成上述工作,您需要执行以下操作。
case class Square(side:Double)
def getArea(o: Object): Double = {
o match {
case Square(side) => side*side
//would also be valid case matching syntax
//case s: Square => s.side * s.side
case _ => 0
}
}