2012-04-16 71 views
5

我願做一個模式匹配,看起來像:斯卡拉守衛與圖案或匹配

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

Saddly這不起作用。有任何想法嗎 ?

感謝

回答

10

您也可以測試反向條件:

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

第二個案例涵蓋None並在最後一次更新是小的情況下。

+2

鏈匹配這絕對是更好的解決方案! – drexin 2012-04-16 09:31:09

+0

@paradigmatic :)謝謝你應該考慮一下 – jlezard 2012-04-17 07:31:05

3

或者可以替換模式與功能

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