【发布时间】:2025-12-31 09:25:06
【问题描述】:
我想做一个看起来像这样的模式匹配:
sinceOp match {
case None |Some(lastUpdate) if lastUpdate<= update.time =>
遗憾的是,这不起作用。有什么想法吗?
谢谢
【问题讨论】:
我想做一个看起来像这样的模式匹配:
sinceOp match {
case None |Some(lastUpdate) if lastUpdate<= update.time =>
遗憾的是,这不起作用。有什么想法吗?
谢谢
【问题讨论】:
你也可以测试相反的条件:
sinceOp match {
case Some(lastUpdate) if lastUpdate > update.time => //...
case _ => //...
}
第二种情况包括None 和最后一次更新较小的情况。
【讨论】:
或者你可以用函数链替换模式匹配
sinceOp.filterNot(_ <= update.time).getOrElse(println("if None"))
【讨论】: