Jump to content

Sort using a custom comparator: Difference between revisions

(Frink)
Line 1,771:
[strings, sample, sorted, Here, some, are, be, to]
</pre>
 
Alternately, here is a surprisingly powerful version of the sorter above that can sort based on the alphabetization rules of a very wide number of human languages. The language for the lexicographic comparison can be specified to the <CODE>lexicalCompare</CODE> function as an ISO 639-1 two-letter language code, or can be even more specific. For example, the following sorts a list of words based on the alphabetization rules for Danish.
<lang frink>f = {|a,b,lang| lexicalCompare[a,b,lang] }
 
words = ["Ærø", "Aalborg", "Tårnby", "Vejen", "Thisted", "Stevns", "Sønderborg", "Eliasen"]
println[sort[words, f, "da"]]</lang>
{{out}}
<pre>
[Eliasen, Stevns, Sønderborg, Thisted, Tårnby, Vejen, Ærø, Aalborg]
</pre>
 
Note that under the lexicographic ordering rules for Danish, that order is correct, with names beginning with "Aa" alphabetized last.
 
=={{header|FunL}}==
494

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.