爲什麼在「數字匹配」中訪問案例類King會告訴我案例類沒有找到? 「未找到:值王」未找到案件類別值
class Field {
val size: Int = StdIn.readInt()
var matrix: List[List[Boolean]] = List.fill(size, size)(true)
val figures: List[List[Figure]] = List()
def inRange(figures: List[List[Figure]]) = {
figures match {
case King() => field.forEach(matrix) {
if (matrix == true) {
if (Math.abs(m1-m2) <= 1 || Math.abs(n1-n2) <= 1) matrix = false
}
}
}
}
abstract class Figure {
case class Rook()
case class Knight()
case class Bishop()
case class Queen()
case class King()
}
它的工作,但只有當我將其模式匹配到一給出圖。當我將它與一個List [List [Figure]]模式匹配時,它會說:模式類型與預期類型不兼容;找到:Field.this.Rook.type required:List [List [Field.this.Figure]]。我如何遍歷數字列表中的INSIDE? – Megoh
@Megoh對於錯誤感到抱歉。你必須得到模式匹配的內在價值。編輯代碼請檢查 – pamu