aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2019-04-29 03:38:02 +0100
committerGitHub <noreply@github.com>2019-04-29 03:38:02 +0100
commit8e83b81ba029c9bc1d7fa8dcf4be1b6e6a4fd270 (patch)
treebfbe96e24c6bb84f60b4c26255ccb73290b9288e
parentbb011b4b85ef42b6f67f648732ed61be8fa374bd (diff)
parentafb9cb7a63ec18805ffeeb3c713277456ca63f0b (diff)
downloadperlweeklychallenge-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-xchallenge-006/joelle-maslak/perl6/ch-1.p629
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 } ) );