2013-01-22 10 views

Antwort

18

headOption Versuchen. Die API docs sind dein Freund.

Beachten Sie auch, dass find tut genau ein filter Plus headOption: es nimmt ein Element, wenn es und legt es in eine Option, und gibt ansonsten None.

+0

Dank. Ich benutze finden, die perfekt zu meiner Anforderung passt. –

1

Die Antwort oben ist für diesen Fall richtig, aber wo man nur die zweite Zeile vereinfachen müssen, ich diesen handlichen Dienstprogramm auch mentioned here (angenommen von Scalaz) empfehlen:

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

Ermöglicht dies:

if (condition) Some(result) else None 

dies werden:

condition option result 
+0

Guter Tipp. Vielen Dank. –