diff options
| author | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-07-13 10:10:15 +0100 |
|---|---|---|
| committer | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-07-13 10:10:15 +0100 |
| commit | d483d9c1808a03602a1fe2b1fd4569b0f53888cc (patch) | |
| tree | a795ed8fb2a3c55c812d75d4169ed51bb00e0350 | |
| parent | 03083309bc7437c7148d1b618c99100292c04cdb (diff) | |
| download | perlweeklychallenge-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.raku | 6 |
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("") ); } |
