Supponiamo di avere un'opzione [Stringa], e se c'è qualche (stringa) lì, vogliamo trasformarla in Int to .toInt. Vorrei fare quanto segue:Conversione dell'opzione [T] all'opzione [U] in Scala
val foo: Option[String] = Some("5")
val baz: Option[Int] = foo match {
case Some(thing) => Some(thing.toInt)
case None => None
}
Questo funziona benissimo. Tuttavia, sembra estremamente prolisso e come un sacco di lavoro. Qualcuno può mostrarmi un modo più semplice per farlo?
Grazie!
Questa funzione può essere astratto: si chiama 'Functor'. La classe del tipo functor può funzionare con le rispettive istanze, ad esempio: List, Tree, Option, ecc. È un concetto piuttosto potente se si inizia a usarlo con un approccio basato sulla classe del tipo. – AndreasScheinert