2013-01-22 7 views

risposta

18

Prova headOption. I API docs sono tuoi amici.

Si noti inoltre che find fa esattamente un filter più headOption: ci vuole un elemento se non vi e lo mette in un'opzione, e comunque dà None.

+0

Grazie. Sto usando find che corrisponde perfettamente alla mia esigenza. –

1

La risposta di cui sopra è corretto per questo caso, ma in cui è sufficiente per semplificare la seconda linea, vi consiglio anche questa pratica utility mentioned here (adottato da Scalaz):

implicit class boolean2Option(val value: Boolean) extends AnyVal { 
    def option[A](f: => A) = if (value) Some(f) else None 
} 

permette a questo:

if (condition) Some(result) else None 

per diventare questo:

condition option result 
+0

Buon consiglio. Grazie. –