选项元组的可选元组

时间:2016-03-31 20:52:18

标签: scala

在scala中有一种简单的方法可以将可选元组转换为选项元组,即

Option[(Int, Int)] => (Option[Int], Option[Int])

由于

P.S。现在我只是在使用:

val myTuple: Option[(Int, Int)] = Some((1, 1))
if (myTuple.isDefined) 
  (Some(myTuple.get._1), Some(myTuple.get._2)) 
else 
  (None, None)

2 个答案:

答案 0 :(得分:3)

这样的事情可能(不是说它比你所拥有的更容易"而且更加惯用):

 option.map { case (a,b) => Some(a) -> Some(b) }.getOrElse(None -> None)

答案 1 :(得分:1)

val myTuple: Option[(A, B)] = ...
(myTuple.map(_._1), myTuple.map(_._2))