Am Optiunea de a o Urm de unele elemente:
Option[Seq[MyItem]]
MyItem are un câmp "descriere"
Am nevoie de pentru a afla dacă unul dintre elemente are o anumită descriere.
Cum poate fi făcut folosind pentru înțelegerea?
Am Optiunea de a o Urm de unele elemente:
Option[Seq[MyItem]]
MyItem are un câmp "descriere"
Am nevoie de pentru a afla dacă unul dintre elemente are o anumită descriere.
Cum poate fi făcut folosind pentru înțelegerea?
Dacă doriți pentru a testa dacă orice element de Option[Seq[MyItem]]
are o anumită descriere, atunci puteți face acest lucru.
opt.exists(_.exists(_.description == ???))
Dacă aveți într-adevăr nevoie de o soluție care folosește for
atunci nu te pot ajuta :)
exists
versiunea este foarte clar. for
este adecvat pentru prelucrare o colecție în alta, dar această sarcină este de a produce o singură valoare dintr-o colecție. Pentru asta ai nevoie de un fold
sau collect
operațiunea, dar care nu va fi mai limpede decât exists
. Option[Seq[MyItem]]
nu va funcționa. Cu toate acestea, se va lucra pe Seq[Option[MyItem]]
. Doar folosi există\ori\colecta după cum sa menționat de @Tim