Rebol3 Code Examplex


Sort numbers lexicographically

Order the numbers as if they were strings, so 1 comes before 10, and 10 comes before 2.

Rebol [
    title: "Rosetta code: Sort numbers lexicographically"
    file:  %Sort_numbers_lexicographically.r3
    url:   https://rosettacode.org/wiki/Sort_numbers_lexicographically
]

;; Initialize numbers
n: 13 numbers: copy []
repeat i n [append numbers i]
print ["Array before sort:" mold numbers]

;; Sort numbers lexicographically
sort/compare numbers func[a b][(form a) < (form b)]
print ["Array after  sort:" mold numbers]

Output:

Array before sort: [1 2 3 4 5 6 7 8 9 10 11 12 13]
Array after  sort: [1 10 11 12 13 2 3 4 5 6 7 8 9]