Visualize a tree: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 886:
Displays a tree of the current directory.
<lang batch file>@tree %cd%</lang>
 
 
=={{header|BBC BASIC}}==
Line 1,195 ⟶ 1,194:
| `-- (null)
`-- (null)</pre>
 
=={{header|Elena}}==
ELENA 5.0 :
Line 2,741:
│ └─D3
└─C3</pre>
 
=={{header|Perl 6}}==
 
<lang perl6>sub visualize-tree($tree, &label, &children,
:$indent = '',
:@mid = ('├─', '│ '),
:@end = ('└─', ' '),
) {
sub visit($node, *@pre) {
| gather {
take @pre[0] ~ label($node);
my @children := children($node);
my $end = @children.end;
for @children.kv -> $_, $child {
when $end { take visit($child, (@pre[1] X~ @end)) }
default { take visit($child, (@pre[1] X~ @mid)) }
}
}
}
visit($tree, $indent xx 2);
 
# example tree built up of pairs
my $tree = root=>[a=>[a1=>[a11=>[]]],b=>[b1=>[b11=>[]],b2=>[],b3=>[]]];
 
.map({.join("\n")}).join("\n").say for visualize-tree($tree, *.key, *.value.list);</lang>
 
{{out}}
<pre>root
├─a
│ └─a1
│ └─a11
└─b
├─b1
│ └─b11
├─b2
└─b3</pre>
 
=={{header|Phix}}==
Line 2,913 ⟶ 2,876:
send(D, open).
</lang>
[[File:display_tree.png|900px]]
 
=={{header|Python}}==
===Library module===
Line 3,611 ⟶ 3,575:
\-13
</pre>
 
=={{header|Perl 6Raku}}==
(formerly Perl 6)
 
<lang perl6>sub visualize-tree($tree, &label, &children,
:$indent = '',
:@mid = ('├─', '│ '),
:@end = ('└─', ' '),
) {
sub visit($node, *@pre) {
| gather {
take @pre[0] ~ label($node);
my @children := children($node);
my $end = @children.end;
for @children.kv -> $_, $child {
when $end { take visit($child, (@pre[1] X~ @end)) }
default { take visit($child, (@pre[1] X~ @mid)) }
}
}
}
visit($tree, $indent xx 2);
 
# example tree built up of pairs
my $tree = root=>[a=>[a1=>[a11=>[]]],b=>[b1=>[b11=>[]],b2=>[],b3=>[]]];
 
.map({.join("\n")}).join("\n").say for visualize-tree($tree, *.key, *.value.list);</lang>
 
{{out}}
<pre>root
├─a
│ └─a1
│ └─a11
└─b
├─b1
│ └─b11
├─b2
└─b3</pre>
 
=={{header|REXX}}==
10,327

edits