diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2021-03-08 10:50:29 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2021-03-08 10:50:29 +0100 |
| commit | c91c8a73518f9f67e41f7a30d5d53114bb40059e (patch) | |
| tree | db5e0253ee59fecf010cba4070c612f4be731850 | |
| parent | 00594660d5dc2aba6ff0a19cff32aec435fd8d44 (diff) | |
| download | perlweeklychallenge-club-c91c8a73518f9f67e41f7a30d5d53114bb40059e.tar.gz perlweeklychallenge-club-c91c8a73518f9f67e41f7a30d5d53114bb40059e.tar.bz2 perlweeklychallenge-club-c91c8a73518f9f67e41f7a30d5d53114bb40059e.zip | |
Task2 done
| -rw-r--r-- | challenge-102/luca-ferrari/raku/ch-2.p6 | 29 | ||||
| -rw-r--r-- | challenge-102/luca-ferrari/raku/filelist.csv | 7 |
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-102/luca-ferrari/raku/ch-2.p6 b/challenge-102/luca-ferrari/raku/ch-2.p6 new file mode 100644 index 0000000000..9ea6e731df --- /dev/null +++ b/challenge-102/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,29 @@ +#!raku + + +sub MAIN( Int $start-ms where { $start-ms > 0 }, + Int $now-ms where { $now-ms >= $start-ms }, + Str $filename ) { + + # lookup file name and tracks + my @tracks; + for $filename.IO.lines { + my ( $ms, $track ) = .split: ','; + @tracks.push: { time => $ms, + track => $track }; + } + + # try to reach the end of the time + my $diff = $now-ms - $start-ms; + my $last-track = 0; + while ( $diff > 0 ) { + $last-track = 0; + for @tracks.kv -> $index, $track { + $diff -= $track< time >; + last if ( $diff <= 0 ); + $last-track = $index; + } + } + + "Now playing { @tracks[ $last-track ]<track> } ".say; +} diff --git a/challenge-102/luca-ferrari/raku/filelist.csv b/challenge-102/luca-ferrari/raku/filelist.csv new file mode 100644 index 0000000000..9428b93004 --- /dev/null +++ b/challenge-102/luca-ferrari/raku/filelist.csv @@ -0,0 +1,7 @@ +1709363,"Les Miserables Episode 1: The Bishop (broadcast date: 1937-07-23)" +1723781,"Les Miserables Episode 2: Javert (broadcast date: 1937-07-30)" +1723781,"Les Miserables Episode 3: The Trial (broadcast date: 1937-08-06)" +1678356,"Les Miserables Episode 4: Cosette (broadcast date: 1937-08-13)" +1646043,"Les Miserables Episode 5: The Grave (broadcast date: 1937-08-20)" +1714640,"Les Miserables Episode 6: The Barricade (broadcast date: 1937-08-27)" +1714640,"Les Miserables Episode 7: Conclusion (broadcast date: 1937-09-03)" |
