Tôi có một kết quả bao gồm một danh sách các Vectơ trong sự phân chia scalaz và tôi muốn có thể kiểm tra và lọc ra các phần tử từ bên phải.Giá trị lọc ở phía bên phải của sự phân chia scalaz
ví dụ đơn giản:
import scalaz._
import Scalaz._
type TL = Throwable \/ List[Vector[Int]]
val goodTL: TL = \/-(List(Vector(1,2,3),Vector(), Vector(2,3,4)))
Nếu tôi muốn loại bỏ phần tử rỗng và cũng có giá trị = 2 từ các yếu tố dân cư tôi có thể làm như sau:
for {
v <- goodTL
f = v.flatten
} yield for {
i <- f
if i != 2
} yield i
đưa ra một scalaz.\/[Nothing,List[Int]] = \/-(List(1, 3, 3, 4))
đó là những gì Tôi muốn nhưng tôi muốn biết nếu có một cách ít phức tạp hơn để đạt được điều này.
Đường miễn phí chắc chắn đẹp hơn. Cảm ơn. – Gavin