aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Proctor <simon.proctor@zoopla.co.uk>2020-04-16 13:25:10 +0100
committerSimon Proctor <simon.proctor@zoopla.co.uk>2020-04-16 13:25:10 +0100
commit6f61f83ba9954fb5a74f65d6be877879c76081e7 (patch)
tree6533ba3ebfc615ccd38ecc646f0c934519237bb4
parent619ffa281efe7d3556ffd72fbf523a80d33e4577 (diff)
downloadperlweeklychallenge-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.p68
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);
}