diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-03-23 19:06:40 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-03-23 19:06:40 +0000 |
| commit | 5a51137f852d7c2a329f8afbd316c49c22d7d244 (patch) | |
| tree | c7a178eefcd8ed34a81f38d79f31f3326df9868c | |
| parent | 2c1e54579bf8e261ea10d1e797d7e0b3a4ae8313 (diff) | |
| parent | c41637fd66a222e5b19171b28c27fa498c8050de (diff) | |
| download | perlweeklychallenge-club-5a51137f852d7c2a329f8afbd316c49c22d7d244.tar.gz perlweeklychallenge-club-5a51137f852d7c2a329f8afbd316c49c22d7d244.tar.bz2 perlweeklychallenge-club-5a51137f852d7c2a329f8afbd316c49c22d7d244.zip | |
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
| -rw-r--r-- | challenge-053/markus-holzer/raku/ch-2.p6 | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/challenge-053/markus-holzer/raku/ch-2.p6 b/challenge-053/markus-holzer/raku/ch-2.p6 index ff0d8689a6..57097d20af 100644 --- a/challenge-053/markus-holzer/raku/ch-2.p6 +++ b/challenge-053/markus-holzer/raku/ch-2.p6 @@ -1,32 +1,25 @@ my %rules = - :a({ $_ ~~ 'i'|'o' }), - :e({ $_ ~~ 'a'|'i'|'u' }), - :i({ $_ ~~ 'a'|'e' }), - :o({ $_ ~~ 'i'|'u' }), - :u({ $_ ~~ 'o'|'i' }) + :a('e','i'), + :e('i'), + :o('a','u'), + :u('e','o'), + :i('a','e', 'o', 'u') ; -my @vowels = <a e i o u>; - sub MAIN(Int $n) { - .say for gather { build-str( $n, $_ ) for @vowels } + .say for gather { build-str( $n, $_ ) for %rules.keys.sort } } multi sub build-str( $n, $current ) { my $last = $current.substr( * - 1, 1 ); - for @vowels + for |%rules{ $last } { - next - unless %rules{ $_ }( $last ); - given $current ~ $_ { - take $_ and next - if .chars == $n; - + take $_ and next if .chars == $n; build-str( $n, $_ ); } } |
