5 Stimmen

Scala guarded pattern mit oder passend zu

Ich würde gerne ein Muster finden, das so aussieht:

    sinceOp match {
        case  None |Some(lastUpdate) if lastUpdate<= update.time =>

Leider funktioniert das nicht. Irgendwelche Ideen?

Gracias

10voto

paradigmatic Punkte 39621

Sie können auch die umgekehrte Bedingung testen:

sinceOp match {
  case Some(lastUpdate) if lastUpdate > update.time => //...
  case _ => //...
}

Der zweite Fall betrifft sowohl None und der Fall, dass die letzte Aktualisierung kleiner ist.

3voto

4e6 Punkte 10576

Oder Sie können den Mustervergleich durch eine Funktionskette ersetzen

sinceOp.filterNot(_ <= update.time).getOrElse(println("if None"))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X