Scala: seltsames Verhalten beim `for` Pattern Matching für None case

eltsames Verhalten infor Cycle Pattern Matching:

scala> val a = Seq(Some(1), None)
a: Seq[Option[Int]] = List(Some(1), None)

scala> for (Some(x) <- a) { println(x) }
1

scala> for (None <- a) { println("none") }
none
none

Warum im zweiten Beispiel zwei Ausgaben'none' produziert? Vielleicht ist dieses Beispiel synthetisch und nicht praktisch, aber ein solches Verhalten ist nicht zu erwarten. Ist das ein Fehler oder eine Funktion?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage