2016-11-16 38 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)) 
相关问题