Ho un List[Option[MyClass]]
con None
in posizioni casuali e ho bisogno di "riempire" di nuovo quell'elenco, da un List[MyClass]
, mantenendo l'ordine.Come sostituire (compilare) Nessuna voce su Elenco di opzioni da un altro elenco utilizzando la Scala idiomatica?
Qui sono gli elenchi di esempio e risultato atteso:
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))
Così, come sarebbe una Scala idiomatica per elaborare quella lista?
"ogni volta che si chiama su un iteratore, si è fermamente nella terra degli effetti collaterali". È vero, ma in questo caso sono perfettamente incorporati nel metodo, che rimane referenzialmente trasparente. –
@Paul: Giusto, penso che l'altra soluzione sia ottima, ed è l'approccio che sceglierei per risolvere questo problema nel mio codice. Ma coinvolge effetti collaterali e in alcune situazioni simili che potrebbero non essere ideali. –