Worthwhile task shaving: Difference between revisions
m
→{{header|Perl}}: column width adjustable
SqrtNegInf (talk | contribs) m (→{{header|Perl}}: improve on one-sided ternary) |
SqrtNegInf (talk | contribs) m (→{{header|Perl}}: column width adjustable) |
||
Line 20:
no warnings 'experimental::smartmatch';
use constant
# ( scale --> seconds ) (minutes) ( scale --> hours )
my @shaved = map { 60 * $_ } 1/60, 1/12, 1/2, 1, 5, 30, map { 60 * $_ } 1, 6, 24;
my @columns = (' 1 Second', ' 5 Seconds', '30 Seconds', ' 1 Minute', ' 5 Minutes', '30 Minutes', ' 1 Hour', ' 6 Hours', ' 1 Day');
my $diy = 365.25;
my @freq = (
my $week = 7 * (my $day = 24 * (my $hour = 60 * (my $minute = 60)));
my $month = (my $year = $day * $diy) / 12;
my $mult = 5;
sub fmt { my($t, $interval) = @_; sprintf
say ' ' x 34 . 'How Often You Do the Task'; say '';
say sprintf
for my $y (0..8) {
my $row = sprintf
for my $x (0..5) {
given ($freq[$x] * $shaved[$y] * $mult) {
Line 45 ⟶ 46:
when ($_ < 9*$week) { $row .= fmt $_/$week, "Week" }
when ($_ < $year ) { $row .= fmt $_/$month, "Month" }
default { $row .= ' ' .
}
}
Line 52 ⟶ 53:
{{out}}
<pre> How Often You Do the Task
Shaved-off
1 Day | 8 Months 8 Weeks 5 Days</pre>
=={{header|Phix}}==
|