Je voudrais vraiment gérer cela sans patch-singe mais je n'ai pas été en mesure de trouver une autre option pour le moment.Comment puis-je trier selon plusieurs conditions avec différentes commandes?
J'ai un tableau (en Ruby) que j'ai besoin de trier selon plusieurs conditions. Je sais comment utiliser la méthode de tri et j'ai utilisé l'astuce sur le tri en utilisant un tableau d'options pour trier selon plusieurs conditions. Cependant, dans ce cas j'ai besoin de la première condition pour trier ascendant et la seconde pour trier décroissant. Par exemple:
ordered_list = [[1, 2], [1, 1], [2, 1]]
Des suggestions? Edit: Je viens de réaliser que je dois mentionner que je ne peux pas facilement comparer les première et deuxième valeurs (je travaille en fait avec des attributs d'objet ici). Donc, pour un exemple simple, il est plus comme:
ordered_list = [[1, "b"], [1, "a"], [2, "a"]]
votre exemple modifié peut être traité de la même manière que le premier que vous avez publié. L'opérateur <=> travaillera sur n'importe quel objet de la même manière (dans votre cas, les objets Integer et String peuvent tous deux être comparés avec <=> très bien) –
Vrai, je pensais juste que je devrais le mentionner plutôt que de risquer de simplifier le problème. –