Michele Dondi skribis 2005-02-07 11:45 (+0100):
> With some effort I managed to understand _which_ sense it should make up 
> to this:
> >   } ==> sort { .<score> } is descending, { .<word>.length }, { .<word> };
> I mean: everything of what is gather()ed gets 'piped' into sort() which 
> sorts according to C<< { .<score> } >>. But what are the other args to it 
> supposed to mean? (Sorry for being dense!)

Since I sent the message, I learned that if you want to sort with
multiple criteria, the first argument should be an arrayref of closures.

So what I should have written is:

  ==> sort [ { .<score> } is descending, { .<word>.length }, { .<word> } ];

And it's easier to write if a simple numeric minus is used:
  
  ==> sort [ { -.<score> }, { .<word>.length }, { .<word> } ];

This makes sort sort by score first, but if two words score equally,
word length will become important (score with as few letters as
possible, because there's a greater chance of succeeding within the time
limit). If the lengths are also equal, it sorts alphabetically, so
that words beginning with the same letter are grouped together.


Juerd
-- 
http://convolution.nl/maak_juerd_blij.html
http://convolution.nl/make_juerd_happy.html 
http://convolution.nl/gajigu_juerd_n.html

Reply via email to