diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-04-16 13:40:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-16 13:40:54 +0100 |
| commit | 1bd1acfb36c2e233ce7094fac2021ec777ecd268 (patch) | |
| tree | bb37383ffe335a0b02807cc80a6f804415f998ff | |
| parent | d2af0f5c16eb27bdff447240326e6ecb7fee8340 (diff) | |
| parent | f58fc09a2dee15306519c82f0cc1c99e05e5009b (diff) | |
| download | perlweeklychallenge-club-1bd1acfb36c2e233ce7094fac2021ec777ecd268.tar.gz perlweeklychallenge-club-1bd1acfb36c2e233ce7094fac2021ec777ecd268.tar.bz2 perlweeklychallenge-club-1bd1acfb36c2e233ce7094fac2021ec777ecd268.zip | |
Merge pull request #1582 from Scimon/master
Use line art characters
| -rw-r--r-- | challenge-056/simon-proctor/raku/ch-2.p6 | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/challenge-056/simon-proctor/raku/ch-2.p6 b/challenge-056/simon-proctor/raku/ch-2.p6 index 4b3b6931b6..5b695eec27 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); } @@ -142,7 +144,7 @@ multi sub MAIN( 'rep' ) { #| also displays all traversals multi sub MAIN ( 'example' ) { my $example = example-tree; - say $example; + say "String : $example"; UBTree.from-Str( $example.Str ).say; for $example.traverse -> @row { |
