diff options
| author | Mark Anderson <mark@frontrangerunner.com> | 2021-02-08 16:08:24 -0700 |
|---|---|---|
| committer | Mark Anderson <mark@frontrangerunner.com> | 2021-02-08 16:08:24 -0700 |
| commit | 41e95424b444033b982d3f94eb08959365c77113 (patch) | |
| tree | c868e1d76fafedef3ff58a1b11cd597fe536991e | |
| parent | 323110b0d053e2067a3cae6db62bc209f869bc57 (diff) | |
| download | perlweeklychallenge-club-41e95424b444033b982d3f94eb08959365c77113.tar.gz perlweeklychallenge-club-41e95424b444033b982d3f94eb08959365c77113.tar.bz2 perlweeklychallenge-club-41e95424b444033b982d3f94eb08959365c77113.zip | |
Challenge 99 Solutions (Raku)
| -rw-r--r-- | challenge-099/mark-anderson/raku/ch-1.raku | 15 | ||||
| -rw-r--r-- | challenge-099/mark-anderson/raku/ch-2.raku | 11 |
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-099/mark-anderson/raku/ch-1.raku b/challenge-099/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..9bd7d0c63e --- /dev/null +++ b/challenge-099/mark-anderson/raku/ch-1.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku +use Test; +plan 4; + +is pattern-match("abcde", "a*e"), 1; +is pattern-match("abcde", "a*d"), 0; +is pattern-match("abcde", "?b*d"), 0; +is pattern-match("abcde", "a*c?e"), 1; + +sub pattern-match($S, $P is copy) +{ + $P ~~ s:g/ \? / . /; + $P ~~ s:g/ \* / .* /; + so $S ~~ / ^ <$P> $ / andthen .Int; +} diff --git a/challenge-099/mark-anderson/raku/ch-2.raku b/challenge-099/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..f1ace13893 --- /dev/null +++ b/challenge-099/mark-anderson/raku/ch-2.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku +use Test; +plan 2; + +is unique-subsequence("littleit", "lit"), 5; +is unique-subsequence("london", "lon"), 3; + +sub unique-subsequence($S, $T) +{ + +($S ~~ m:ex/<{ $T.comb.join(" .* ") }>/); +} |
