2017-12-27 14 views
3

Java 사용자를 위해 사용할 수 있도록해야하는 형식 태그가있는 스칼라 코드가 있습니다. 내 문제는 다음과 같은 문제를 해결합니다.수동으로 형식 태그 만들기

두 개의 스칼라 유형 태그가 주어지면 Tuple2 [A, B]에 대한 유형 태그를 수동으로 만들 수 있습니까? 내 특정한 경우는 조금 간단 차이 만드는 경우

: 나는 A의 한 종류 태그가 나는 Tuple2 [문자열, A]에 대한 유형 태그를 만들 필요를

답변

4

형 태그는 일반적으로 사용되는 암시 적 시스템은 암묵적인 시스템에 매우 익숙합니다. 스칼라에게 당신이 원하는 타입을 알려주고 그것을 암묵적으로 요구하십시오.

def tupleTag[A : TypeTag, B: TypeTag]: TypeTag[Tuple2[A, B]] = implicitly 

인스턴스화 할 수 있으면 스칼라가 그렇게합니다. 가능하지 않으면 컴파일러 오류입니다. 이 경우 AB이 이미 구체적이므로 (태그가 있음) Tuple2[A, B]이 항상 구체적입니다.

+0

당신과 암묵적인 마법 : – harel