aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Proctor <simon.proctor@zoopla.co.uk>2020-07-13 10:10:15 +0100
committerSimon Proctor <simon.proctor@zoopla.co.uk>2020-07-13 10:10:15 +0100
commitd483d9c1808a03602a1fe2b1fd4569b0f53888cc (patch)
treea795ed8fb2a3c55c812d75d4169ed51bb00e0350
parent03083309bc7437c7148d1b618c99100292c04cdb (diff)
downloadperlweeklychallenge-club-d483d9c1808a03602a1fe2b1fd4569b0f53888cc.tar.gz
perlweeklychallenge-club-d483d9c1808a03602a1fe2b1fd4569b0f53888cc.tar.bz2
perlweeklychallenge-club-d483d9c1808a03602a1fe2b1fd4569b0f53888cc.zip
Moar functional
-rw-r--r--challenge-069/simon-proctor/raku/ch-1.raku6
1 files changed, 5 insertions, 1 deletions
diff --git a/challenge-069/simon-proctor/raku/ch-1.raku b/challenge-069/simon-proctor/raku/ch-1.raku
index 634bca1135..643ea2c262 100644
--- a/challenge-069/simon-proctor/raku/ch-1.raku
+++ b/challenge-069/simon-proctor/raku/ch-1.raku
@@ -22,10 +22,14 @@ multi sub strobogrammatic( 1 ) { ("8",) }
multi sub strobogrammatic( $length where { 1 < $length <= 3 } ) {
my @base = [(6,),(8,),(9,)];
- @base.map( -> @start { |@start, |( $length %% 2 ?? () !! (8,) ), |@start.reverse.map( { rev($_) } ) } ).map( *.join("") );
+ make-strob( @base, $length );
}
multi sub strobogrammatic( $length ) {
my @base = [X] ((6,8,9) xx ($length div 2));
+ make-strob(@base,$length);
+}
+
+sub make-strob(@base,$length) {
@base.map( -> @start { |@start, |( $length %% 2 ?? () !! (8,) ), |@start.reverse.map( { rev($_) } ) } ).map( *.join("") );
}