diff options
| author | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-04-16 13:25:10 +0100 |
|---|---|---|
| committer | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-04-16 13:25:10 +0100 |
| commit | 6f61f83ba9954fb5a74f65d6be877879c76081e7 (patch) | |
| tree | 6533ba3ebfc615ccd38ecc646f0c934519237bb4 | |
| parent | 619ffa281efe7d3556ffd72fbf523a80d33e4577 (diff) | |
| download | perlweeklychallenge-club-6f61f83ba9954fb5a74f65d6be877879c76081e7.tar.gz perlweeklychallenge-club-6f61f83ba9954fb5a74f65d6be877879c76081e7.tar.bz2 perlweeklychallenge-club-6f61f83ba9954fb5a74f65d6be877879c76081e7.zip | |
Use line art characters
| -rw-r--r-- | challenge-056/simon-proctor/raku/ch-2.p6 | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/challenge-056/simon-proctor/raku/ch-2.p6 b/challenge-056/simon-proctor/raku/ch-2.p6 index 4b3b6931b6..1cfee6b94b 100644 --- a/challenge-056/simon-proctor/raku/ch-2.p6 +++ b/challenge-056/simon-proctor/raku/ch-2.p6 @@ -87,16 +87,18 @@ class BTreeRep { my ( $left, $right, $left-width, $right-width ); my ( @ldata, @rdata, $left-pad, $right-pad ); + my $mid-string = '┘'; $left = BTreeRep.new( tree => $tree.left ); $left-width = $left.data[0].codes; @ldata = $left.data; - @ldata.unshift( (" " x $left.join-point) ~ "+" ~ ("-" x ($left-width - 1 - $left.join-point) ) ); + @ldata.unshift( (" " x $left.join-point) ~ "┌" ~ ("─" x ($left-width - 1 - $left.join-point) ) ); if ( $tree.right ) { my $right = BTreeRep.new( tree => $tree.right ); + $mid-string = '┴'; @rdata = $right.data; $right-width = @rdata[0].codes; - @rdata.unshift( ( "-" x ( $right.join-point ) ~ '+' ~ ( " " x $right-width - 1 - $right.join-point ) ) ); + @rdata.unshift( ( "─" x ( $right.join-point ) ~ '┐' ~ ( " " x $right-width - 1 - $right.join-point ) ) ); } else { $right-width = 1; @rdata = @ldata.map( { " " } ); @@ -116,7 +118,7 @@ class BTreeRep { my $left-fill = gather { for @ldata.elems^..@rdata.elems { take " " x $left-width } }; my $right-fill = gather { for @rdata.elems^..@ldata.elems { take " " x $right-width } }; - @!data = $top, |( ( (|@ldata, |$left-fill) Z, (|@rdata, |$right-fill) ).map( { state $i=0;$_.join($i++??" "!!"+") } ) ); + @!data = $top, |( ( (|@ldata, |$left-fill) Z, (|@rdata, |$right-fill) ).map( { state $i=0;$_.join($i++??" "!!$mid-string) } ) ); $!join-point = $left-pad + ( $tree.value.Str.codes div 2); } |
