diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-02-21 09:39:38 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-21 09:39:38 +0000 |
| commit | aff250401b6e8a51cb424ac52d39650a8a676836 (patch) | |
| tree | 315725bdb1cd25185c7fe2f643dec9b561f13ac3 | |
| parent | 8c9ff45add445e8e4d24e5c57c258334b31c480b (diff) | |
| parent | 5d40527a152f7f6f6b7bd23326c83d06e3562d5e (diff) | |
| download | perlweeklychallenge-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/README | 1 | ||||
| -rwxr-xr-x | challenge-048/xkr47/raku/ch-1.p6 | 25 | ||||
| -rwxr-xr-x | challenge-048/xkr47/raku/ch-2.p6 | 11 |
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 |
