diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2022-09-25 19:50:25 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2022-09-25 19:50:25 +0200 |
| commit | f554e31176279617529c7d38b2a4fb502411cf16 (patch) | |
| tree | 52c782e8dc0f4825beab705f0554d6e3bcaefd79 | |
| parent | 5979e8be2ae466fad1c654d93f79cf183a4d9766 (diff) | |
| download | perlweeklychallenge-club-f554e31176279617529c7d38b2a4fb502411cf16.tar.gz perlweeklychallenge-club-f554e31176279617529c7d38b2a4fb502411cf16.tar.bz2 perlweeklychallenge-club-f554e31176279617529c7d38b2a4fb502411cf16.zip | |
solutions week 183
| -rw-r--r-- | challenge-183/wambash/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-183/wambash/raku/ch-2.raku | 26 |
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-183/wambash/raku/ch-1.raku b/challenge-183/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..2cb364f562 --- /dev/null +++ b/challenge-183/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub unique-array (+@list) { + @list.unique: with => &[eqv] +} + +multi MAIN (Bool :test($)!) { + use Test; + is unique-array([1,2], [3,4], [5,6], [1,2]), ([1,2], [3,4], [5,6]); + is-deeply unique-array([9,1], [3,7], [2,5], [2,5]),([9, 1], [3,7], [2,5]); + done-testing; +} + +multi MAIN (*@list) { + @list + andthen .map: *.split( ',' ).Array + andthen unique-array $_ + andthen .say +} diff --git a/challenge-183/wambash/raku/ch-2.raku b/challenge-183/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..e801f1b273 --- /dev/null +++ b/challenge-183/wambash/raku/ch-2.raku @@ -0,0 +1,26 @@ +#!/usr/bin/env raku + +sub date-diference (Date() $start, Date() $end) { + my @year-seq = $start, *.later(:1year) ...^ * > $end; + my $year = @year-seq.elems - 1 ; + my $day = $end - @year-seq.tail; + \(:$year, :$day) +} + +multi MAIN (Bool :test($)!) { + use Test; + is date-diference('2019-02-10','2022-11-01').<year day>, (3, 264); + is date-diference('2020-09-15','2022-03-29').<year day>, (1, 195); + is date-diference('2020-09-15','2022-03-09').<year day>, (1, 175); + is date-diference('2019-12-31','2020-01-01').<year day>, (0, 1); + is date-diference('2019-12-01','2019-12-31').<year day>, (0, 30); + is date-diference('2019-12-31','2021-12-31').<year day>, (2, 0); + is date-diference('2019-12-31','2020-12-31').<year day>, (1, 0); + is date-diference('2020-09-15','2021-09-16').<year day>, (1, 1); + is date-diference('2019-09-15','2021-09-16').<year day>, (2, 1); + done-testing; +} + +multi MAIN (Date() $start, Date() $end) { + say date-diference $start, $end +} |
