-1
불균형 매칭 패턴에 대해 질문이 있습니다. 일치하는 패턴은 각 사례가 다른 사례를 밟지 않을 때 분리됩니다.분리 패턴 매칭
def func(list: List[Int]): Int = list match {
case Nil => 0
case x::t if (x < func(t)) => x
case x::t => func(t)
}
내 질문 : "if"문구가 계산되어이 사례가 연결되지 않았는지 확인하십시오. 이렇게 패치 패턴이 있다면 마지막 케이스도 두 번째 케이스를 포함하고 어쨌든 분리되지 않는다는 것을 의미합니다. 하지만 마지막 사례를
case x::t if (x >= func(t)) => func(t)
으로 변경하면 일치하는 패턴이 서로 겹치지 않습니까?