J'ai deux fonctions avec exactement la même implémentation - une seule gère Option
et l'autre gère Seq
. Je voudrais utiliser des génériques pour écrire ceci comme une seule fonction qui gère Iterable
, tout en gardant le type concret dans le code appelant - si c'est possible?Utilisation d'Iterable avec les génériques scala
def f[T](a: Seq[Failure \/ T]): Failure \/ Seq[T] = { ??? }
def g[T](b: Option[Failure \/ T]): Failure \/ Option[T] = { ??? }
La mise en œuvre n'a pas d'importance, mais pour le contexte, ils se traduisent d'une collection de résultats (dont chacun peut soit avoir réussi (T
) ou échoué (Failure
)) soit un échec ou une collection complète de résultats réussis. \/
est juste la version de scalaz d'Either.
Je cherche à faire quelque chose comme ceci:
def f[I[T] <: Iterable[T]](results: I[Failure \/ T]): Failure \/ I[T] = { ??? }