У меня есть для понимания, как:
val ao = Option(1)
val bo = Option(2)
val (x,y) = for (a <- ao; b <- bo) yield (a+b, b+a*2)
Однако это не работает.Для понимания возвращает Option[(Int,Int)]
, но не может быть назначен отдельным x и y.
Если я сделаю:
val Some((x,y)) = for ...
Это вызывает исключение, когда приводит к None.
Как сделатьдостичь этой цели?Я хочу, чтобы х и у были Option[Int]
.Я надеюсь найти элегантное решение, не используя как x._1
или x.getOrElse
, или match