diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2019-04-29 03:38:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-29 03:38:02 +0100 |
| commit | 8e83b81ba029c9bc1d7fa8dcf4be1b6e6a4fd270 (patch) | |
| tree | bfbe96e24c6bb84f60b4c26255ccb73290b9288e | |
| parent | bb011b4b85ef42b6f67f648732ed61be8fa374bd (diff) | |
| parent | afb9cb7a63ec18805ffeeb3c713277456ca63f0b (diff) | |
| download | perlweeklychallenge-club-8e83b81ba029c9bc1d7fa8dcf4be1b6e6a4fd270.tar.gz perlweeklychallenge-club-8e83b81ba029c9bc1d7fa8dcf4be1b6e6a4fd270.tar.bz2 perlweeklychallenge-club-8e83b81ba029c9bc1d7fa8dcf4be1b6e6a4fd270.zip | |
Merge pull request #104 from jmaslak/jmaslak-week6.1
Add Perl6 for Week 6 Problem 1
| -rwxr-xr-x | challenge-006/joelle-maslak/perl6/ch-1.p6 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-006/joelle-maslak/perl6/ch-1.p6 b/challenge-006/joelle-maslak/perl6/ch-1.p6 new file mode 100755 index 0000000000..0e8a3f9a23 --- /dev/null +++ b/challenge-006/joelle-maslak/perl6/ch-1.p6 @@ -0,0 +1,29 @@ +#!/usr/bin/env perl6 +use v6; + +# To call this application: +# +# perl6 ch-1.p6 <numbers> +# +# Numbers should be space seperated. +# + +my Pair $run; +my @runs; + +for @*ARGS.sort( { $^a <=> $^b } ) -> Int() $num { + if ! defined $run { + $run = Pair.new($num, $num); + } else { + if $run.value == $num - 1 { + $run = Pair.new($run.key, $num); + } else { + @runs.append($run); + $run = Pair.new($num, $num); + } + } + $run.freeze; +} +@runs.append($run) if defined $run; + +say join(",", @runs.map( { (.key ≠ .value) ?? "{.key}-{.values}" !! .key } ) ); |
