2011-10-01 11 views
48

Estoy tratando de recoger algo de scala. Lectura a través de ejemplos me encontré con este-imposible-Google pepita:Triple colon Scala

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

¿Qué logra la triple colon?

+1

Véase también http://stackoverflow.com/questions/6566502/whats-the-difference-between-and-in-scala/6566523 – Debilski

Respuesta

54

concatena dos listas - javadoc

+0

Gracias amablemente. – providence

+17

Aunque, técnicamente, es un scaladoc. –

46

para añadir a gkamal's answer, es importante entender que los métodos cuyos nombres terminan en dos puntos son asociativo por la derecha. Así que escribir l ::: List(3) es lo mismo que escribir List(3).:::(l). En este caso, no importa ya que ambos operandos son listas, pero en general necesitarás este conocimiento para encontrar dichos métodos en los scaladocs.

También ayuda saber que el scaladocs tiene un índice completo de todos los métodos (y clases, etc.) con nombres simbólicos. Puede alcanzarlo haciendo clic en # en la esquina superior izquierda.

+2

+1 Esta es una información muy útil. scaladocs – providence

+0

'#' funciona todas las noches (2.10.0.r ...) http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/library/index.html#index. índice-_ –