我想做一个模式匹配,看起来像:
sinceOp match {
case None |Some(lastUpdate) if lastUpdate<= update.time =>
可悲的是,这不起作用。有什么想法吗?
由于
答案 0 :(得分:10)
你也可以测试反向条件:
sinceOp match {
case Some(lastUpdate) if lastUpdate > update.time => //...
case _ => //...
}
第二种情况包括None
和最后一次更新的情况。
答案 1 :(得分:3)
或者你可以用函数链替换模式匹配
sinceOp.filterNot(_ <= update.time).getOrElse(println("if None"))