Pour Array, il existe une jolie méthode sort
pour réorganiser la séquence des éléments. Je veux obtenir les mêmes résultats pour une chaîne.
Par exemple, j'ai une chaîne str = "String"
, Je veux le trier par ordre alphabétique avec une méthode simple pour "ginrSt"
.
Existe-t-il un moyen natif pour l'activer ou dois-je inclure des mixins de Enumerable
?
La méthode chars
renvoie une énumération des caractères de la chaîne.
str.chars.sort.join
#=> "Sginrt"
Pour trier la casse de manière insensible:
str.chars.sort(&:casecmp).join
#=> "ginrSt"
Aussi (juste pour le plaisir)
str = "String"
str.chars.sort_by(&:downcase).join
#=> "ginrSt"
str.unpack("c*").sort.pack("c*")
Vous pouvez transformer la chaîne en un tableau pour trier:
'string'.split('').sort.join