diff options
| author | Mark Anderson <mark@frontrangerunner.com> | 2020-03-24 17:10:17 -0600 |
|---|---|---|
| committer | Mark Anderson <mark@frontrangerunner.com> | 2020-03-24 17:10:17 -0600 |
| commit | 5259107650157d50812ba16d8cdcee1054bdd5f5 (patch) | |
| tree | d60733998f7b66d7119a58b48158481e9112e47b | |
| parent | d17d318c1a0dfc4b031f8dc2672c0a44713ff2dc (diff) | |
| download | perlweeklychallenge-club-5259107650157d50812ba16d8cdcee1054bdd5f5.tar.gz perlweeklychallenge-club-5259107650157d50812ba16d8cdcee1054bdd5f5.tar.bz2 perlweeklychallenge-club-5259107650157d50812ba16d8cdcee1054bdd5f5.zip | |
replaced array with a hash
| -rw-r--r-- | challenge-053/mark-anderson/raku/ch-2.p6 | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/challenge-053/mark-anderson/raku/ch-2.p6 b/challenge-053/mark-anderson/raku/ch-2.p6 index 1a215c8a73..2fc4974065 100644 --- a/challenge-053/mark-anderson/raku/ch-2.p6 +++ b/challenge-053/mark-anderson/raku/ch-2.p6 @@ -1,8 +1,13 @@ #!/usr/bin/env raku sub MAIN($length where 1 <= $length <= 5) { - my @connections = ["ae", "ai", "ei", "ia", "ie", - "io", "iu", "oa", "ou", "uo", "ue"]; + my %next_letter = ( + a => [<e i>], + e => [<i>], + i => [<a e o u>], + o => [<a u>], + u => [<o e>] + ); for <a e i o u> -> $first_letter { my @queue = Empty; @@ -11,11 +16,11 @@ sub MAIN($length where 1 <= $length <= 5) { while @queue[0].chars < $length { my $str = @queue.shift; my $last_letter = $str.substr(*-1); - for @connections.grep(/^$last_letter/).map(*.substr(*-1)) -> $ltr { + for %next_letter{$last_letter}.Array -> $ltr { @queue.push($str ~ $ltr); } } - say @queue; + say @queue.join("\n"); } } |
