Set[A]
przedłuża Function1[A, Boolean]
.
Map[K, V]
rozszerza PartialFunction[K, V]
, który z kolei rozszerza Function1[K, V]
.
Seq[A]
rozszerza PartialFunction[Int, A]
, który z kolei rozszerza Function1[Int, A]
.
Tak więc w bibliotece zbiorów Scala same zestawy, sekwencje i mapy są funkcjami.
apply
Metoda w Set[_]
testów ustaw członkostwo.
apply
Metoda w Map[_, _]
zwraca wartość skojarzoną z danym kluczem. Zgłasza błąd, jeśli klucz jest nieobecny.
apply
Metoda w Seq[_]
zwraca element z danego indeksu. Zgłasza błąd w przypadku nieprawidłowego indeksu.
Poniżej dwa są równoważne:
Set(1, 2, 3).map(Set(1))
Set(1, 2, 3).map(x => Set(1).contains(x))
Więc są dwa następujące:
Seq(1, 2, 3).collect(someMap)
Seq(1, 2, 3) collect {
case x if someMap contains x => someMap(x)
}
a także następujących dwóch:
Seq(1, 2, 3).map(someSeq)
Seq(1, 2, 3).map(x => someSeq(x))