2016-11-16 76 views
0

我有一個案例類,如:怎麼回事無如果所有組件都還沒有,否則有些

case class Part1(id: Int) 
case class Part2(id: Int) 
case class Part3(id: Int) 

以上都包含在下面的配件類:

case class Parts(part1: Option[Part1], part2: Option[Part2], part3: Option[Part3]) 

現在目前在我的代碼有:

case (maybePart1, maybePart2, maybePart3) => 
    Parts(maybePart1, maybePart2, maybePart3) 

但我真正想要做的是返回None,如果所有的人都沒有,否則返回我一個以上。

我該怎麼做?

回答

6

只需添加另一種情況語句的情況下,如果他們都是None

case (None, None, None) => None 
case (maybePart1, maybePart2, maybePart3) => 
    Some(Parts(maybePart1, maybePart2, maybePart3)) 
相關問題