Я определил:
final case class EventOpt(start: Option[Long], end: Option[Long])
final case class Event(start: Long, end: Long)
Единственные интересные объекты для меня - это те, у которых установлены оба поля, и я хочу отфильтровать остальные
Имея List[EventOpt]
Я бы хотелпреобразуйте его в List[Option[Event]]
, используя Some(Event)
, когда установлены оба start
и end
, и None
, когда либо start
, либо end
они равны None
?
Например.
List(EventOpt(Some(1), None), EventOpt(None, Some(2)), EventOpt(Some(3), Some(4)))
=>
List(None, None, Some(Event(4, 3)))
Таким образом, это позволит сделать простой flatMap
над последним списком и пропустить None
s