diff options
| -rw-r--r-- | challenge-053/mark-anderson/raku/ch-2.p6 | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/challenge-053/mark-anderson/raku/ch-2.p6 b/challenge-053/mark-anderson/raku/ch-2.p6 index f4d9cdc129..9fdec917a1 100644 --- a/challenge-053/mark-anderson/raku/ch-2.p6 +++ b/challenge-053/mark-anderson/raku/ch-2.p6 @@ -11,22 +11,16 @@ sub MAIN($length where 1 <= $length <= 5) { append_letter($first_letter); } - multi sub append_letter($ltr where $length == 1) { - say $ltr; - } - - multi sub append_letter($str) { - my $last_letter = $str.substr(*-1); + sub append_letter($str) { + if ($str.chars == $length) { + say $str; + } - for %next_letter{$last_letter}.Array -> $ltr { - my $new_str = $str ~ $ltr; - - if ($new_str.chars == $length) { - say $new_str; - } + else { + my $last_letter = $str.substr(*-1); - else { - append_letter($new_str); + for %next_letter{$last_letter}.Array -> $ltr { + append_letter($str ~ $ltr); } } } |
