Quel est un bon moyen (lire une meilleure lisibilité) pour filtrer une liste de tuples. J'utiliseListe de filtrage des tuples - meilleure lisibilité
tupleList.filter(_._2).map(_._1)
Mais cela ne semble pas lisible.
Quel est un bon moyen (lire une meilleure lisibilité) pour filtrer une liste de tuples. J'utiliseListe de filtrage des tuples - meilleure lisibilité
tupleList.filter(_._2).map(_._1)
Mais cela ne semble pas lisible.
Je ne sais pas combien mieux, mais vous pouvez utiliser Collect:
tupleList.collect { case (true, x) => x }
et bien sûr donner un nom significatif x. Si le premier élément n'est pas un booléen, vous pouvez même faire quelque chose comme:
tupleList.collect { case (x, y) if (cond) => y}
et donner des noms significatifs x et y
en utilisant l'équivalent avec des fonctions partielles peuvent également aider:
tupleList.filter { case (_, snd) => snd }
.map { case (fst, _) => fst }
Cela devrait s'améliorer considérablement lorsque Dotty arrive avec le déballage de tuple.
Pouvez-vous s'il vous plaît fournir des exemples de données? –