J'essaie de combiner deux Option[Iterable[_]]
dans un nouveau Option[Iterable[_]]
. Je voudrais retourner un certain si un (ou les deux) des éléments est un certain et un aucun autrement. Il semble qu'il devrait y avoir une façon idiomatique de le faire, mais je n'arrive pas à en trouver un. Ce qui suit semble faire ce que je veux, mais ce n'est pas tout à fait la solution que j'espérais.Combinaison de Scala Option [Iterable [_]]
def merge(
i1: Option[Iterable[_]], i2: Option[Iterable[_]]
): Option[Iterable[_]] = (i1, i2) match {
case (Some(as), Some(bs)) => Some(as ++ bs)
case (a @ Some(as), None) => a
case (None, b @ Some(bs)) => b
case _ => None
}
Tous les conseils sont appréciés. Merci!
Type de presque question similaire: http://stackoverflow.com/questions/10617979/binary-operator-with-option-arguments/10618340#10618340, peut être utile –