Начиная с Scala 2.9
, большинство коллекций теперь снабжены функцией reduceOption
(эквивалент reduce
), которая поддерживает случай пустых последовательностей, возвращая Option
результата :
Set[Set[String]]().reduceOption(_ union _)
// Option[Set[String]] = None
Set[Set[String]]().reduceOption(_ union _).getOrElse(Set())
// Set[String] = Set()
Set(Set(1, 2, 3), Set(2, 3, 4), Set(5)).reduceOption(_ union _).getOrElse(Set())
// Set[Int] = Set(5, 1, 2, 3, 4)