blob: a444a9e9c6cd59073a3b6dc2b851bb90c7c5f0b9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#! /usr/bin/env raku
unit sub MAIN (Str :$sort where $sort eq any("", "values", "labels") = "");
my $data = { apple => pi, cherry => e, banana => 0.3, junkfood => 0.6 };
generate_bar_graph($data, $sort);
sub generate_bar_graph ($data, $sort)
{
my $max = %($data).keys>>.chars.max;
my @keys = %($data).keys;
if $sort eq "values"
{
@keys = @keys.sort({ %($data){$^b} cmp %($data){$^a} });
}
elsif $sort eq "labels"
{
@keys = @keys.sort;
}
for @keys -> $label
{
say "{ " " x ($max - $label.chars) }$label | { "#" x 4 * %($data){$label} }";
}
}
|