scala Rückkehr am ersten Einige in der Liste

Ich habe eine Listel:List[T1] und derzeit mache ich Folgendes:

myfun : T1 -> Option[T2]
val x: Option[T2] = l.map{ myfun(l) }.flatten.find(_=>true)

Dasmyfun -Funktion gibt None oder Some zurück, flatten wirft alle None weg und find gibt das erste Element der Liste zurück, falls vorhanden.

Das scheint mir ein bisschen verrückt zu sein. Ich bin der Meinung, dass es eine Form des Verständnisses oder ähnliches geben könnte, die dies etwas weniger verschwenderisch oder klüger macht. Zum Beispiel: Ich brauche keine weiteren Antworten, wennmyfun kehrt zurückirgendei Some während dermap der Listel.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage