Disons que j'ai un tableau non trié de 1 à 10, comme indiqué ci-dessous ...Trie un tableau de chaînes par leurs valeurs Integer
a = ["3", "5", "8", "4", "1", "2", "9", "10", "7", "6"]
Si j'utilise la méthode de tri sur ce tableau, il renvoie cette ...
a.sort = ["1", "10", "2", "3", "4", "5", "6", "7", "8", "9"]
Comme vous pouvez le voir, le 10 apparaît avant le 2, ce qui est incorrect. Comment puis-je trier ces chiffres de sorte que 10 apparaisse correctement?
EDIT: Bonjour les gars, merci à tous pour vos réponses. Je devrais expliquer un peu mieux mon problème. Le tableau dont j'ai besoin trié est pour une liste de prix e-commerce. Le tableau apparaît donc comme suit ...
a = ["0-10", "11-20", "21-30", "31-40" etc.]
Les chaînes ne peuvent donc pas être converties en entiers. J'aurais dû mettre cela quand j'ai écrit la question. Je ne pensais pas qu'il y aurait beaucoup de différence dans le correctif. Mon erreur, je m'excuse d'avoir fait cette supposition! Comment puis-je trier ce tableau? Merci!
Je pense que cette question a déjà été répondu: http://stackoverflow.com/questions/1955646/sort-strings-and-numbers-in-ruby/1964686#1964686 –
Juste posté une réponse à votre mise à jour question – apneadiving
Je vous suggère de poster une nouvelle question avec une description mise à jour, car toutes les réponses sont basées sur une mauvaise description. –