2013-01-22 11 views

Odpowiedz

18

Spróbuj headOption. API docs to twój przyjaciel.

Należy również zauważyć, że find robi dokładnie filter Plus headOption: trwa jeden element, jeśli istnieje i umieszcza go w opcję, a poza tym daje None.

+0

Dzięki. Używam find, który idealnie pasuje do moich wymagań. –

1

Odpowiedź powyżej jest poprawne w tym przypadku, ale w którym po prostu trzeba uprościć drugą linię, ja również polecam to wygodne narzędzie mentioned here (przyjęty z Scalaz):

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

Umożliwia to:

if (condition) Some(result) else None 

stać to:

condition option result 
+0

Dobra wskazówka. Dzięki. –