Ich habe ein wenig gesucht, aber noch keine gute Antwort darauf gefunden, wie Einträge in eine Map mit dem Wert None herausgefiltert werden können. Sagen, dass ich eine Karte wie diese:Filterkarte für Werte von None
val map = Map[String, Option[Int]]("one" -> Some(1),
"two" -> Some(2),
"three" -> None)
Ich mag würde eine Karte Rückkehr nur mit dem ("one", Some(1))
und ("two", Some(2))
Paar am Ende. Ich verstehe, dass dies mit flatten gemacht wird, wenn Sie eine Liste haben, aber ich bin mir nicht sicher, wie ich den Effekt auf einer Karte erreichen kann, ohne sie in Schlüssel und Werte aufzuteilen und dann wiederzuvereinigen.
Neato. Ich hätte die Syntax nicht erraten. Noch ein bisschen verwirrt auf '_.' Von dem, was ich verstehe, sagen wir ihm, dass er zum zweiten Punkt (dem Wert) des ersten (aktuellen) Paares gehen soll. – KChaloux
@KChaloux In diesem Fall verweist '_' auf das erste Argument eines Funktionsliterals, das an die Methode' filter' übergeben wird. Es ist eine Abkürzung für 'x => x._2.isDefined' –
Und das _2 stammt aus dem [Tuple] (http://www.scala-lang.org/api/current/index.html#scala.Tuple2). – fracz