develooper Front page | perl.perl6.users | Postings from June 2018

Re: need sort help

Thread Previous | Thread Next
From:
Xin Cheng
Date:
June 9, 2018 15:39
Subject:
Re: need sort help
Message ID:
4CC50B76-7397-4BF2-9208-B842A1B13B62@gmail.com
This is very interesting. But I wonder how it works. I can understand the first line

 my ($month, $day, $year, $hour, $minute, $second) = .comb(/\d+/);

Which extract the variables from $_. What is the second line doing, it is very concise.

 ($year // 0, $month // 0, $day // 0, $hour // 0, $minute // 0,
$second // 0, $_);

Could somebody explain in some more words.? What does  // do? Why it sorts the array?

Regards

Xin

> On Jun 9, 2018, at 12:51 AM, Timo Paulssen <timo@wakelift.de> wrote:
> 
> That's unnecessarily long and complicated, here's how you can do it much
> easier:
> 
>     @x.sort: {
>         my ($month, $day, $year, $hour, $minute, $second) = .comb(/\d+/);
>         ($year // 0, $month // 0, $day // 0, $hour // 0, $minute // 0,
> $second // 0, $_);
>     }
> 
> Trying it on some input data:
> 
>     cimtrak.log.06-08-2018_16:07:39.zip
>     cimtrak.log.06-08-2018_17:07:39.zip
>     cimtrak.log.07-08-2018_06:07:39.zip
>     cimtrak.log.07-08-2018_16:07:39.zip
>     cimtrak.log.12-08-2016_06:07:39.zip
>     cookies
>     asbestos
>     fire engine
>     perl6
>     butterflies
> 
> results in:
> 
>     asbestos
>     butterflies
>     cookies
>     fire engine
>     perl6
>     cimtrak.log.12-08-2016_06:07:39.zip
>     cimtrak.log.06-08-2018_16:07:39.zip
>     cimtrak.log.06-08-2018_17:07:39.zip
>     cimtrak.log.07-08-2018_06:07:39.zip
>     cimtrak.log.07-08-2018_16:07:39.zip
> 
> This is the schwartzian transform that was mentioned in another mail.
> why it wasn't actually shown, i have no clue :)
> 
> Hope that helps
>   - Timo


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About