Załóżmy, że mam kilka funktorów zagnieżdżonych, np. List[Option[Int]]
i trzeba zadzwonić pod numer map
najbardziej wewnętrznego.Jak uprościć zagnieżdżone wywołania map?
Teraz używam zagnieżdżony 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))
Co jeśli mam 3 poziomy zagnieżdżenia, na przykład?
Czy istnieje jakaś prosta alternatywa dla zagnieżdżonego maps
?
nie jestem zakładając, że moje funktory są monady więc nie można użyć 'flatten'. – Michael