Ich bin neu in scala Ich versuche, für/Ertrag zu verstehen und nicht verstehen, warum der folgende Code eine Option kein Stringin scala, warum für yield return Option tut statt String
val opString: Option[String] = Option("test")
val optionStr : Option[String] = for {
op <- opString
} yield {
opString match {
case Some(s) => s
case _ => "error"
}
}
kehrt
Tatsächlich ist Ihr Ausdruck äquivalent zu "opString" selbst;) Wenn die 'Option' leer ist, wird die Funktion, die an die Funktion' map' übergeben wurde, nicht aufgerufen. – marstran