val myList = List(
Some(1),
Some(4),
None,
Some(5)
)
e volete solo i valori, quindi List(1, 4, 5). Qualche volta trovate codice analogo al seguente, magari scritto da me l'anno scorso :)
val values = myList filter (! _.isEmpty) map (_.get) assert( values == List(1, 4, 5) )Orribile!
Infatti, essendo Option un container possiamo (e dobbiamo) fare questo:
val values = myList.flatten assert( values == List(1, 4, 5) )o, al massimo:
val values = for(
Some(a) <- myList
) yield a
Nessun commento:
Posta un commento