Ruby:Sorting an Array
Sort a list in place
The method sort! can be used:
Sort the list 2,7,5,4.
Create a new sorted list
The method sort can be used:
Return a new list of the values 2,7,5,4 without modifying the original list.
Sort a list using a custom key function
A key can be associated with each item in the list to specify how they are to be sorted. The list is sorted according to the order of the keys, not the original values. You provide a key function, which maps each element to its key.
For example, to sort a list by order of increasing string length:
Sort a list using an anonymous custom comparator
You can create your own comparator. This mens that you decide how the sort is to be done. (Note: this method is slower than using keys.) You must provide a block that returns a negative, zero or a positive integer depending on how the first argument (let's call o1) compares to the second argument (let's call o2).
return -1 (or any negative number) if o1 comes before o2 return 0 if o1 and o2 are the same return 1 (or any positive number) if o1 comes after o2