0

Ich bin zu Scala ziemlich neu und einige Schwierigkeiten habe genau herauszufinden, wie eine OptionScala für das Verständnis kehrt zurück Option [Liste [T]]]; wollen Liste [Wert]

zu extrahieren zu bilden habe ich Code, der tut:

getResult(name, age, id).map(response => 
    for { 
    accounts <- response._id_list // response.account_id_list is an Option[String] 
    ageList <- response.age_list // response.details is an Option[Details] 
    } yield { 
     accounts.split(" ").map(accountID => Account(
     accountID = accountID, 
    )) 
    } 
) 

Das gibt Option[List[Account]] aber ich Ich möchte nur eine List[Account] zurückgeben. Ich weiß, dass der Grund dafür ist, weil das für das Verständnis wirklich etwas syntaktischer Zucker ist, der einige flatMaps und maps bedeckt, aber ich kann nicht herausfinden, wie man den Inhalt des Option zurückgibt. Ich will nicht Option.get verwenden, weil ich schreckliche Praxis, das ist gelesen habe (wie es im Wesentlichen des ganzen Sinn der Option zunichte macht. Also, wie kann ich sonst noch tun?

Vielen Dank im Voraus.

Antwort

2

Sie kann ein .getOrElse(List.empty)

+0

Nun, das war ziemlich einfach. – LivingRobot