비 일반적인 방법으로 기록 될 알려진 유형 파라미터이다 : 위 예에서
def layout(x: Int) = "[" + x.toString() + "]" //parameter x is of a known type: Int
은 X가 명시 적으로 설정된 Int가 되라. 그러나 toString 메서드는 Scala의 모든 유형에 적용 할 수 있습니다. 그래서, 대신에 다음과 같은 다양한 유형의 여러 오버로드 된 메서드 쓰는 :
def layout(x: Double) = "[" + x.toString() + "]" //parameter x is of a known type: Int
def layout(x: List[Int]) = "[" + x.toString() + "]" //parameter x is of a known type: Int
을 우리는 형식 매개 변수를 사용하여 단일 일반/다형성 방법을 쓸 수 있습니다 :
위의
A
는 형식 매개 변수라고
def layout[A](x: A) = "[" + x.toString() + "]"
. 이제 A
은 어떤 유형의 것이 될 수 있습니다. 실제 유형에 대한 추상화입니다.
이
layout[Int](2)
아니면 단순히 다음과 같이 호출 할 수 스칼라가 자동으로 파라미터 화 된 형태 A
이의 것으로 추정되는 경우 :
이제 명시 적으로 A
의 유형을 지정하여 다형성 layout
메소드를 호출 할 수 지능을 입력
layout(2)
스칼라 질문을하기 전에 http://stackoverflow.com/documentation/scala/782/type-parameterization-generics#t=201610012036290314627 –
를 참조 이유의 기초를 배울 먼저 언어? – Madoc