Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: sort +*, @array

by raiph (Hermit)
on Dec 09, 2013 at 12:32 UTC ( #1066280=note: print w/ replies, xml ) Need Help??


in reply to Re: sort +*, @array
in thread sort +*, @array

Sorts numerically. (The default is to sort stringwise).


Comment on Re^2: sort +*, @array
Replies are listed 'Best First'.
Re^3: sort +*, @array
by hdb (Prior) on Dec 09, 2013 at 12:39 UTC

    Thanks for your reply.

    So it is the Perl 6 equivalent to say sort {$a <=> $b} @array;?

    But how is that statement related to the Schwartzian transformation?

      The +* is a "key extractor" closure. This closure corresponds to the before map of the ST. Of course, in the specific case of +*, it's trivial to instead just specify a "comparator" closure using <=>, but what if one instead writes:

      say sort +*.value, 1=>4, 11=>5, 2=>99, 22=>22, 3=>339 # prints 1=>4 11=>5 22=>22 2=>99 3=>339 say sort ~*.value, 1=>4, 11=>5, 2=>99, 22=>22, 3=>339 # prints 22=>22 3=>339 1=>4 11=>5 2=>99

      (And of course the results of the closure call on a given item is memoized.)

        Thanks for the explanation. So the link to the Schwartzian really is the fact that the items are automatically memoized.

Re^3: sort +*, @array
by moritz (Cardinal) on Dec 11, 2013 at 12:27 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1066280]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (7)
As of 2015-07-31 06:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (274 votes), past polls