Set[A]
extiende Function1[A, Boolean]
.
Map[K, V]
extiende PartialFunction[K, V]
que a su vez se extiende Function1[K, V]
.
Seq[A]
se extiende PartialFunction[Int, A]
que a su vez se extiende Function1[Int, A]
.
De modo que en la biblioteca de colecciones de Scala, los conjuntos, las secuencias y los mapas son en sí mismos funciones.
apply
método en Set[_]
prueba establecer membresía.
apply
método en Map[_, _]
devuelve el valor asociado con la clave especificada. Emite un error si la clave está ausente.
apply
método en Seq[_]
devuelve el elemento en índice dado. Lanza el error para un índice inválido.
Los dos siguientes son equivalentes:
Set(1, 2, 3).map(Set(1))
Set(1, 2, 3).map(x => Set(1).contains(x))
Así son los dos siguientes:
Seq(1, 2, 3).collect(someMap)
Seq(1, 2, 3) collect {
case x if someMap contains x => someMap(x)
}
Y también los dos siguientes:
Seq(1, 2, 3).map(someSeq)
Seq(1, 2, 3).map(x => someSeq(x))