sort_by descending ruby string sorting

ruby - descending - ¿Cómo ordenar los caracteres de una cadena alfabéticamente?



ruby sort_by descending (4)

Para Array, hay un método de sort bastante bueno para reorganizar la secuencia de elementos. Quiero lograr los mismos resultados para una Cadena.

Por ejemplo, tengo una cadena str = "String" , quiero ordenarla alfabéticamente con un método simple para "ginrSt" .

¿Existe una forma nativa de habilitar esto o debería incluir mixins de Enumerable ?


El método chars devuelve una enumeración de los caracteres de la cadena.

str.chars.sort.join #=> "Sginrt"

Para clasificar las mayúsculas y minúsculas de forma insensible:

str.chars.sort(&:casecmp).join #=> "ginrSt"


Puede transformar la cadena en una matriz para ordenar:

''string''.split('''').sort.join


También (solo por diversión)

str = "String" str.chars.sort_by(&:downcase).join #=> "ginrSt"


str.unpack("c*").sort.pack("c*")