"인물 일치"에서 사례 클래스 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] [List]에 패턴 일치하면 패턴 유형이 예상 유형과 호환되지 않습니다. 발견 : Field.this.Rook.type required : List [List [Field.isis.Figure]]. 인물 목록을 어떻게 추적합니까? – Megoh
@Megoh 실수로 유감스럽게 생각합니다. 패턴 일치를 위해서는 내부 값으로 가야합니다. 확인 코드를 수정하십시오. – pamu