aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-053/mark-anderson/raku/ch-2.p622
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);
}
}
}