मैं दो Option[Iterable[_]]
को एक नए Option[Iterable[_]]
में गठबंधन करने की कोशिश कर रहा हूं। मैं कुछ वापस करना चाहूंगा यदि तत्वों में से एक (या दोनों) कुछ है और कोई अन्यथा नहीं है। ऐसा लगता है कि ऐसा करने का एक बेवकूफ तरीका होना चाहिए, लेकिन मुझे लगता है कि एक नहीं मिल रहा है। ऐसा लगता है कि मैं जो चाहता हूं वह करना है, लेकिन यह काफी हद तक समाधान नहीं है जिसे मैं उम्मीद कर रहा था।स्केल विकल्प का संयोजन [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
}
किसी भी सुझाव की सराहना की जाती है। धन्यवाद!
तरह के लगभग समान प्रश्न: http://stackoverflow.com/questions/10617979/binary-operator-with-option-arguments/10618340#10618340, उपयोगी हो सकता है –