[FIXED] Scala-Musterabgleich auf None und Some() im selben Fall

Ausgabe

Was ist der eleganteste Fall, None und Some() im selben Fall zu haben? Etwas wie:

val data: Option[Int] = getSomeData()

data match {
 case None || Some(data) && data > 50 =>
 case _ =>
}

Lösung

Sie können Option.forallals Bedingung verwenden.

def foo(data: Option[Int]): Unit =
  if (data.forall(_ > 50)) println("OK")
  else println("KO")

foo(None)
// => OK

foo(Some(1))
// => KO

foo(Some(51))
// OK


Beantwortet von –
cchantep


Antwort geprüft von –
David Goodson (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like