aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-04-16 13:40:54 +0100
committerGitHub <noreply@github.com>2020-04-16 13:40:54 +0100
commit1bd1acfb36c2e233ce7094fac2021ec777ecd268 (patch)
treebb37383ffe335a0b02807cc80a6f804415f998ff
parentd2af0f5c16eb27bdff447240326e6ecb7fee8340 (diff)
parentf58fc09a2dee15306519c82f0cc1c99e05e5009b (diff)
downloadperlweeklychallenge-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.p610
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 {