często widzę te dwa wzory na dołączenie opcjonalnego wartość do SEQ:Clean Scala składnia „Dołącz wartość opcjonalna SEK jeśli istnieje”
def example1(fooList: Seq[Foo], maybeFoo: Option[Foo]): Seq[Foo]) = {
if (maybeFoo.isDefined)
fooList :+ maybeFoo.get
else
fooList
}
def example2(fooList: Seq[Foo], maybeFoo: Option[Foo]): Seq[Foo]) = {
maybeFoo match {
case Some(foo) => fooList :+ foo
case None => fooList
}
}
Obie te metody działają, ale wydaje się rozwlekły i brzydki. Czy istnieje istniejący operator lub metoda, aby zrobić to bardziej naturalnie/funkcjonalnie?
Dzięki!
Jeśli chcesz tylko do linii strumienia podejście masz, możesz napisać 'fooOpt.map (fooSeq : + _). getOrElse (fooSeq) 'również. –