İki Option[Iterable[_]]
yeni Option[Iterable[_]]
içine birleştirmeye çalışıyorum. Öğelerin bir (ya da her ikisi) Biri ve Aksi halde Hiçbiri ise Biri'ye dönmek istiyorum. Bunu yapmanın deyimsel bir yolu olmalı gibi görünüyor, ama bir tane bulamıyorum. Aşağıdaki, istediğimi yapıyor gibi görünüyor, ama umuyordum ki oldukça kaygan bir çözüm değil.Scala Seçeneği Birleştir [Değiştirilebilir [_]]
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
}
Herhangi bir ipucu kabul edilir. Teşekkürler!
Tür neredeyse benzer soru: http://stackoverflow.com/questions/10617979/binary-operator-with-option-arguments/10618340#10618340, yararlı olabilir –