Подтвердить что ты не робот

Тройная толстая кишка Scala

Я пытаюсь подобрать некоторые scala. Прочитав примеры, я наткнулся на этот непогрешимый самородок:

case 3 => l ::: List(3)

Что делает тройная двоеточие?

4b9b3361

Ответ 1

Объединение двух списков - javadoc

Ответ 2

Чтобы добавить к gkamal answer, важно понять, что методы, имена которых заканчиваются в двоеточии, являются право-ассоциативными. Поэтому запись l ::: List(3) совпадает с записью List(3).:::(l). В этом случае это не имеет значения, так как оба операнда являются списками, но в целом вам понадобятся эти знания, чтобы найти такие методы в scaladocs.

Это также помогает узнать, что scaladocs имеют полный индекс всех методов (и классов и т.д.) с символическими именами. Вы можете добраться до него, нажав # в верхнем левом углу.