aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-02-21 09:39:38 +0000
committerGitHub <noreply@github.com>2020-02-21 09:39:38 +0000
commitaff250401b6e8a51cb424ac52d39650a8a676836 (patch)
tree315725bdb1cd25185c7fe2f643dec9b561f13ac3
parent8c9ff45add445e8e4d24e5c57c258334b31c480b (diff)
parent5d40527a152f7f6f6b7bd23326c83d06e3562d5e (diff)
downloadperlweeklychallenge-club-aff250401b6e8a51cb424ac52d39650a8a676836.tar.gz
perlweeklychallenge-club-aff250401b6e8a51cb424ac52d39650a8a676836.tar.bz2
perlweeklychallenge-club-aff250401b6e8a51cb424ac52d39650a8a676836.zip
Merge pull request #1287 from xkr47/pwc048
xkr47 / 048
-rw-r--r--challenge-048/xkr47/README1
-rwxr-xr-xchallenge-048/xkr47/raku/ch-1.p625
-rwxr-xr-xchallenge-048/xkr47/raku/ch-2.p611
3 files changed, 37 insertions, 0 deletions
diff --git a/challenge-048/xkr47/README b/challenge-048/xkr47/README
new file mode 100644
index 0000000000..47ff27a9d5
--- /dev/null
+++ b/challenge-048/xkr47/README
@@ -0,0 +1 @@
+Solution by Jonas Berlin.
diff --git a/challenge-048/xkr47/raku/ch-1.p6 b/challenge-048/xkr47/raku/ch-1.p6
new file mode 100755
index 0000000000..e2346a6566
--- /dev/null
+++ b/challenge-048/xkr47/raku/ch-1.p6
@@ -0,0 +1,25 @@
+#!/usr/bin/env perl6
+
+class Pwc048_1 is Array {
+ method iterator {
+ class :: does Iterator {
+ has $.index is rw = 0;
+ has $.array is required;
+ method pull-one {
+ my $val = $.array.AT-POS($.index++);
+ $.index %= $.array.elems;
+ $.array.splice($.index, 1);
+ if ($.array.elems) {
+ $.index %= $.array.elems;
+ $val;
+ } else {
+ IterationEnd;
+ }
+ }
+ }.new(array => self)
+ }
+}
+
+my $arr = Pwc048_1.new();
+$arr.append(1...50);
+say "Survivors, in order: ", $arr;
diff --git a/challenge-048/xkr47/raku/ch-2.p6 b/challenge-048/xkr47/raku/ch-2.p6
new file mode 100755
index 0000000000..c82f25441c
--- /dev/null
+++ b/challenge-048/xkr47/raku/ch-2.p6
@@ -0,0 +1,11 @@
+#!/usr/bin/env perl6
+
+(2000...2999)
+ .map({
+ try {
+ Date.new(($_, $_.flip.match(/^(..)(..)/).map(*.Str)).flat.join("-"))
+ }
+ })
+ .grep(*.defined)
+ .map({ sprintf "%02d%02d%04d", .month, .day, .year })
+ .say