[scala] Scala에서 ::와 :::의 차이점은 무엇입니까?

val list1 = List(1,2)
val list2 = List(3,4)

그때

list1::list2 returns:

List[Any] = List(List(1, 2), 3, 4)

list1:::list2 returns:

List[Int] = List(1, 2, 3, 4)

나는 그 책이 ::그것을 사용했을 때 또한 결과를 기록하는 것을 보았다 List[Int] = List(1, 2, 3, 4). 내 Scala 버전은 2.9입니다.



답변

::단일 항목 :::앞에 추가하는 반면 전체 목록 앞에 추가합니다. 당신이를 넣어한다면, List앞에 ::그것을 하나 개의 항목, 중첩 된 구조의 결과로한다.


답변

일반적으로 :

  • :: -목록 시작 부분에 요소를 추가하고 추가 된 요소가있는 목록을 반환합니다.
  • ::: -두 목록을 연결하고 연결된 목록을 반환합니다.

예를 들면 :

1 :: List(2, 3)             will return     List(1, 2, 3)
List(1, 2) ::: List(3, 4)   will return     List(1, 2, 3, 4)

귀하의 특정 질문에서을 사용 ::하면 목록이 목록 ( 중첩 목록 )으로 표시되므로 :::.

참조 : 공식 사이트의 클래스 목록


답변