Realmente me gustaría manejar esto sin parches de mono, pero no he podido encontrar otra opción todavía.¿Cómo puedo ordenar por varias condiciones con diferentes pedidos?
Tengo una matriz (en Ruby) que debo ordenar por varias condiciones. Sé cómo usar el método de clasificación y he usado el truco para ordenar usando una variedad de opciones para ordenar por múltiples condiciones. Sin embargo, en este caso necesito la primera condición para clasificar ascendente y la segunda para clasificar descendente. Por ejemplo:
ordered_list = [[1, 2], [1, 1], [2, 1]]
¿Alguna sugerencia?
Edición: Acabo de dar cuenta de que debo mencionar que no puedo comparar fácilmente los valores primero y segundo (en realidad, estoy trabajando con atributos de objeto aquí). Así que para un ejemplo sencillo es más como:
ordered_list = [[1, "b"], [1, "a"], [2, "a"]]
su ejemplo modificado se puede tratar de manera idéntica al primero que publicó. El operador <=> trabajará en cualquier objeto de la misma manera (en su caso, los objetos Entero y Cadena se pueden comparar con <=> bien) –
Cierto, solo pensé que debería mencionarlo en lugar de arriesgarme por simplificar el problema. –