Mam List[Option[MyClass]]
z None
w losowych pozycjach i muszę "wypełnić" tę listę ponownie, od List[MyClass]
, zachowując kolejność.Jak wymienić (wypełnić) Brak wpisów na liście opcji z innej listy za pomocą idiomatic Scala?
Oto przykładowe listy i oczekiwany wynik:
val listA = List(Some(3),None,Some(5),None,None)
val listB = List(7,8,9)
val expectedList = List(Some(3), Some(7), Some(5), Some(8), Some(9))
Tak, jak byłoby idiomatyczne Scala przetworzyć tę listę?
"za każdym razem, gdy zadzwonisz dalej w iteratorze, jesteś mocno w krainie efektów ubocznych." To prawda, ale w tym przypadku są one starannie enapuslowane w metodzie, która pozostaje referencyjna przejrzysta. –
@Paul: Racja, myślę, że inne rozwiązanie jest świetne i to podejście, które wybrałbym, aby rozwiązać ten problem w moim własnym kodzie. Ale wiąże się to z efektami ubocznymi iw niektórych podobnych sytuacjach, które mogą nie być idealne. –