in reply to Re^3: Spoiled by Perl (sorting sugar)
in thread Spoiled by Perl

thanks! :)

> The dispatcher does that by finding the appropriate multi-sub that implements the actual comparison.

ehm ... if I have an array with numbers and strings it will implicitly decide based on the type of $a and $b which comparison to apply?

> Rakus Str class is fully Unicode aware and by default sorts characters on the numeric value of the codepoint.

I'm not sure if that's sufficient to handle different standards.

E.g. the telephone book in Germany has another sorting than the dictionaries.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

update

clearer rewording

Replies are listed 'Best First'.
Re^5: Spoiled by Perl (sorting sugar)
by raiph (Deacon) on Dec 22, 2021 at 01:36 UTC
    > if I have an array with numbers and strings it will implicitly decide based on the type of $a and $b which comparison to apply?

    It will decide for you if you don't explicitly direct it to do otherwise. By default, given a number and a string to compare, it will coerce the number to a string. But if both elements being compared are numbers it will compare them numerically. If you want to sort all numbers as strings, you must say so, eg by passing `~*` as the comparator.

    > I'm not sure if \sorting by codepoint is\ sufficient to handle different standards. E.g. the telephone book in Germany has another sorting than the dictionaries.

    Use https://docs.raku.org/routine/collate instead of `sort`.