Ordenar array asociativo

Hola a todos,
tengo una pequeña duda que no consigo resolver y es como ordenar un
array asociativo, por ejemplo:

a = [ [pepe, 10], [jose, 5], [manolo, 23] ]

Necesito algun método para que devuelva el array ordenado de la
siguiente manera:

a = [ [jose, 5], [pepe, 10], [manolo, 23] ]

¿Alguien me puede ayudar?

Gracias.

On May 9, 2007, at 8:00 PM, pepe wrote:

¿Alguien me puede ayudar?

Una manera Rubyana es:

a.sort_by { |x| x[1] }

– fxn

On 5/9/07, Xavier N. [email protected] wrote:

a = [ [jose, 5], [pepe, 10], [manolo, 23] ]

¿Alguien me puede ayudar?

Una manera Rubyana es:

a.sort_by { |x| x[1] }

– fxn

Y si tenés ActiveSupport,

a.sort_by(&:last)

a.sort_by { |x| x[1] }

Genial,
muchas gracias,
si no te importa ¿que habría que cambiar para que lo ordenara de mayor a
menor?

a = [ [manolo, 23], [pepe, 10], [jose, 5] ]

He probado con

a.sort_by { |x| x[1] }.reverse y funciona…pero no se si será lo
correcto.

a.sort_by { |x| -x[1] }

Muchas gracias,
funciona a las mil maravillas.

On 5/9/07, pepe [email protected] wrote:

Genial,
muchas gracias,
si no te importa ¿que habría que cambiar para que lo ordenara de mayor a
menor?

a.sort_by { |x| -x[1] }