這裏recentest
是一個列表,我想匹配其「配置文件」:空的或只是一個元素。我可以在比賽聲明中原生做到嗎?基於列表長度的匹配模式匹配
val newId = if(recentest.size == 0) 0L
else {recentest(0).as[Long]("item_id") + 1}
這裏recentest
是一個列表,我想匹配其「配置文件」:空的或只是一個元素。我可以在比賽聲明中原生做到嗎?基於列表長度的匹配模式匹配
val newId = if(recentest.size == 0) 0L
else {recentest(0).as[Long]("item_id") + 1}
val newId = recentest match {
case Nil => 0
case h::Nil => h.as[Long]("item_id") + 1
}
你可以概括爲2(或更多)? – aitchnyu
@aitchnyu'... case無=> 0; case xs => xs.map(x => x.as [Long](「...」))。sum + 1'如果我正確地得到它。也許你只需要映射步驟或類似的邏輯。 –
如果你想在幾個案件任意大小,你可以這樣做匹配:
list match {
...
case _ if list.length == mySize => ...
...
}
注意'recentest.headOption.fold(0L,_.as [龍]( 「item_id」)+ 1)''''或'recentest.headOption.map(_。as [Long](「item_id」)+ 1).getOrElse(0L)'''''''''''''' –