diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-04-11 01:47:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-11 01:47:09 +0100 |
| commit | 476caafd1b20338d63e992610409fabec382ad7b (patch) | |
| tree | 4295263fff9c2477ed62a946d5ae2274fd44d474 | |
| parent | 8b6820bb7298a4a627c387aa5494742f30598da5 (diff) | |
| parent | 204a5a4747c54076f71b2e71935b921de7b48d1e (diff) | |
| download | perlweeklychallenge-club-476caafd1b20338d63e992610409fabec382ad7b.tar.gz perlweeklychallenge-club-476caafd1b20338d63e992610409fabec382ad7b.tar.bz2 perlweeklychallenge-club-476caafd1b20338d63e992610409fabec382ad7b.zip | |
Merge pull request #3854 from wambash/challenge-week-107
solutions week 107
| -rw-r--r-- | challenge-107/wambash/raku/ch-1.raku | 16 | ||||
| -rw-r--r-- | challenge-107/wambash/raku/ch-2.raku | 27 |
2 files changed, 43 insertions, 0 deletions
diff --git a/challenge-107/wambash/raku/ch-1.raku b/challenge-107/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..ea0647bd0f --- /dev/null +++ b/challenge-107/wambash/raku/ch-1.raku @@ -0,0 +1,16 @@ +sub self-descriptive-numbers () { + 1..* + andthen .map: { slip 0 x $_ .. $_-2 x $_ }\ + andthen .grep: {.comb eq .comb.Bag{ (^.chars)ยป.Str } }\ + andthen .head(3) +} + +multi MAIN () { + .say for self-descriptive-numbers +} + +multi MAIN (Bool :$test!) { + use Test; + is self-descriptive-numbers(), (1210, 2020, 21200); + done-testing; +} diff --git a/challenge-107/wambash/raku/ch-2.raku b/challenge-107/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..58728c1656 --- /dev/null +++ b/challenge-107/wambash/raku/ch-2.raku @@ -0,0 +1,27 @@ +#!/usr/bin/env raku + +sub list-methods ( ::T ) { + T.^methods.map: *.name +} + +sub MAIN (Bool :$test!) { + use Test; + + my $class = class :: { + method new {} + method add {} + method mul {} + method div {} + } + + my $role = role :: { + method new {...} + method add {...} + method mul {...} + method div {...} + } + + is list-methods($class), <new add mul div BUILDALL>; + is list-methods($role ), <new add mul div>; + done-testing; +} |
