В чем разница между: и: в 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.

1 55

1 ответ:

:: добавляет один элемент, тогда как ::: добавляет полный список. Так что, если вы ставите List перед :: это принимается как один элемент, что приводит к вложенной структуры.