2014-11-21 9 views
2

IterableIterableLike의 차이점은 무엇입니까?스칼라 반복 가능 및 반복 가능 차이점 및 용도

은 무엇입니까? 또는 은 각각을 사용하고 있습니까?

즉, 인수에서 허용되는 콜렉션의 종류가 다음과 같은 방법은 어떻게 다를까요?

def f[A](c: Iterable[A]) = c.foreach(print) 
f: [A](c: Iterable[A])Unit 

def g[A,B](c: IterableLike[A,B]) = c.foreach(print) 
g: [A, B](c: scala.collection.IterableLike[A,B])Unit 
+1

[ "특성"과 "특성"의 차이점은 무엇입니까?] (http://stackoverflow.com/questions/4599937/what-is-the-difference-between-a-trait - 및 - 템플릿 - 특성) –

답변

2

IterableIterableLike을 비롯한 여러 특성을 함께 구성합니다. 이것이 대부분 구현 세부 사항이라고 생각합니다. 실제적인 구별을 반영하는 것보다 도서관 조직의 문제로 더 많은 방법이 IterableLike에 있습니다. 나는 IterableLike을 구현하고 어떤 클래스도 인식하지 못하고 IterableIterableLike을 확장하기 때문에 Iterable을 구현하지 않는다. 나는 무엇이든 듣고 싶어합니다. 그래서 내가 아는 한, 당신의 방법은 똑같이 행동 할 것입니다.

scala 표준 라이브러리의 내부 구현을 위해 노력하고 있지 않는 한 항상 Iterable을 사용하는 것이 좋습니다.

관련 문제