斯卡拉保护模式与或匹配

jle*_*ard 5 scala pattern-matching

我想做一个模式匹配,看起来像:

    sinceOp match {
        case  None |Some(lastUpdate) if lastUpdate<= update.time =>
Run Code Online (Sandbox Code Playgroud)

可悲的是,这不起作用.有任何想法吗 ?

谢谢

par*_*tic 10

你也可以测试反向条件:

sinceOp match {
  case Some(lastUpdate) if lastUpdate > update.time => //...
  case _ => //...
}
Run Code Online (Sandbox Code Playgroud)

第二种情况涵盖None了上次更新较小的情况.

  • 这绝对是更好的解决方案! (2认同)