SO에 대한이 오류 메시지에 대한 질문이 많이 있지만이 문제에 대한 질문은 거의없는 것 같습니다. 스칼라 인수 오버로드의 익명 함수 형식
The argument types of an anonymous function must be fully known. (SLS 8.5)
코드의 잘못된 블록
는 인수 과정에서 패턴 매칭 할 수 있다는 이점도 함께 루비의 블록의 기능을 에뮬레이트하려고 시도한다.object Block {
def apply(f: => Unit) = apply((_: String) => f)
def apply(f: String => Unit) = ???
}
def example() = {
Block { // Error!
case "A" => println("First letter of the alphabet")
case _ => println("Not the first letter of the alphabet")
}
}
은 비록 한 줄 아래로, 스칼라 내가 문자열에 일치하고있어,이 인수 유형을 추론 할 수 있음을 분명히 알 수 있습니다.