Supponiamo di avere alcuni funtori annidati, ad es. List[Option[Int]]
e devi chiamare lo map
del più interno.Come semplificare le chiamate di mappe annidate?
Ora sto utilizzando nidificato maps
:
scala> val opts: List[Option[Int]] = List(Some(0), Some(1))
opts: List[Option[Int]] = List(Some(0), Some(1))
scala> opts.map(o => o.map(_ + 1))
res0: List[Option[Int]] = List(Some(1), Some(2))
Che cosa succede se ho 3 livelli di nidificazione, per esempio?
Esiste una semplice alternativa al nidificato maps
?
io non parto dal presupposto che i miei funtori sono monadi in modo da non possono utilizzare 'flatten'. – Michael