Mam wynik składający się z listy wektorów w odróżnieniu skalaza i chcę móc badać i odfiltrowywać elementy z prawej strony.Filtrowanie wartości po prawej stronie podziału skalazu
uproszczony przykład:
import scalaz._
import Scalaz._
type TL = Throwable \/ List[Vector[Int]]
val goodTL: TL = \/-(List(Vector(1,2,3),Vector(), Vector(2,3,4)))
Jeśli chcę usunąć pusty element a także wszelkie wartości = 2 z elementami zaludnionych mogę wykonać następujące czynności:
for {
v <- goodTL
f = v.flatten
} yield for {
i <- f
if i != 2
} yield i
dając scalaz.\/[Nothing,List[Int]] = \/-(List(1, 3, 3, 4))
który jest co Chcę, ale chciałbym wiedzieć, czy istnieje mniej zawiły sposób na osiągnięcie tego.
Bez cukru jest zdecydowanie ładniejszy. Dzięki. – Gavin