형식 클래스처럼 작동해야하는 컨텍스트 경계와 암시 적 매개 변수에 대해 읽습니다. 자주 사용되는 예는 Ordering[T]
입니다.정상적인 매개 변수에 비해 "컨텍스트 바운드"된 스칼라의 장점은 무엇입니까?
foo[T](a: T, b: T)(implicit ord: Ordering[T])
설탕 그래서 난 내가 전에이 이해 생각이
ord.compare(a, b)
같은 것을 할 수있는 몸에
foo[T : Ordering](a: T, b: T)
, 지금은 그리기 해요 : 같은 뭔가 공백 ... 그냥 간단하게 넘는 이점은 무엇입니까? 함수에 물건을 건네줍니다. 예 :
foo[T](a: T, b: T, ord: Ordering[T])
/* or */ foo[T](a: T, b: T)(ord: Ordering[T])
foo(a, b, myOrdering)
/* or */ foo(a, b)(myOrdering)
이 암시이기 때문입니다. 다른 암시 적 매개 변수를 명시 적으로 전달할 필요는 없습니다. –