diff options
| author | Scimon <simon.proctor@gmail.com> | 2022-08-23 10:16:56 +0100 |
|---|---|---|
| committer | Scimon <simon.proctor@gmail.com> | 2022-08-23 10:16:56 +0100 |
| commit | b0094776fe0b8e5895c7830ab8cce05feb945cd7 (patch) | |
| tree | ad25d72fb028df78bcaf074f177f8be2253aef8d | |
| parent | dbb96034773a87fc1283697c57b32447850ee644 (diff) | |
| download | perlweeklychallenge-club-b0094776fe0b8e5895c7830ab8cce05feb945cd7.tar.gz perlweeklychallenge-club-b0094776fe0b8e5895c7830ab8cce05feb945cd7.tar.bz2 perlweeklychallenge-club-b0094776fe0b8e5895c7830ab8cce05feb945cd7.zip | |
Challenge 2
| -rw-r--r-- | challenge-179/simon-proctor/raku/ch-2.raku | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/challenge-179/simon-proctor/raku/ch-2.raku b/challenge-179/simon-proctor/raku/ch-2.raku new file mode 100644 index 0000000000..11b4a722dc --- /dev/null +++ b/challenge-179/simon-proctor/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +constant @SPARKS = <<▁ ▂ ▃ ▄ ▅ ▆ ▇ █>>; + +#| Draw a sparkline for the given list of positive numbers +sub MAIN( *@values where { all(@values).Num() >= 0 } ) { + my &func = sub ($) { 3 }; + my ( $min, $max ) = ( @values.min, @values.max ); + if ( $min != $max ) { + my $break = (($max - $min) / 7); + &func = sub ($v) { Int( ($v - $min) / $break ) } + } + @values.map( &func ).map( { @SPARKS[$_] } ).join('').say; +} + +multi sub spark-points( $min, $max ) { + return( 0, (($max - $min) / 8) ); +} |
