From f43aca2c63578b55e94ce6348ad7203e2f72a3b2 Mon Sep 17 00:00:00 2001 From: Arne Sommer Date: Sun, 27 Jul 2025 21:53:52 +0200 Subject: week 332 Arne Sommer --- challenge-332/arne-sommer/blog.txt | 1 + challenge-332/arne-sommer/raku/binary-date | 5 +++++ challenge-332/arne-sommer/raku/binary-date-try | 6 ++++++ challenge-332/arne-sommer/raku/ch-1.raku | 5 +++++ challenge-332/arne-sommer/raku/ch-2.raku | 14 ++++++++++++++ challenge-332/arne-sommer/raku/odd-letters | 14 ++++++++++++++ 6 files changed, 45 insertions(+) create mode 100644 challenge-332/arne-sommer/blog.txt create mode 100755 challenge-332/arne-sommer/raku/binary-date create mode 100755 challenge-332/arne-sommer/raku/binary-date-try create mode 100755 challenge-332/arne-sommer/raku/ch-1.raku create mode 100755 challenge-332/arne-sommer/raku/ch-2.raku create mode 100755 challenge-332/arne-sommer/raku/odd-letters diff --git a/challenge-332/arne-sommer/blog.txt b/challenge-332/arne-sommer/blog.txt new file mode 100644 index 0000000000..37ddb7079d --- /dev/null +++ b/challenge-332/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/odd-date.html \ No newline at end of file diff --git a/challenge-332/arne-sommer/raku/binary-date b/challenge-332/arne-sommer/raku/binary-date new file mode 100755 index 0000000000..01f589f69d --- /dev/null +++ b/challenge-332/arne-sommer/raku/binary-date @@ -0,0 +1,5 @@ +#! /usr/bin/env raku + +unit sub MAIN ($date where $date ~~ /^ \d\d\d\d \- \d\d \- \d\d $/); + +say $date.split('-').map( *.fmt('%b') ).join('-'); diff --git a/challenge-332/arne-sommer/raku/binary-date-try b/challenge-332/arne-sommer/raku/binary-date-try new file mode 100755 index 0000000000..65c7eeee5a --- /dev/null +++ b/challenge-332/arne-sommer/raku/binary-date-try @@ -0,0 +1,6 @@ +#! /usr/bin/env raku + +unit sub MAIN ($date where $date ~~ /^ \d\d\d\d \- \d\d \- \d\d $/); + +try Date.new($date) && say $date.split('-').map( *.fmt('%b') ).join('-'); + diff --git a/challenge-332/arne-sommer/raku/ch-1.raku b/challenge-332/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..01f589f69d --- /dev/null +++ b/challenge-332/arne-sommer/raku/ch-1.raku @@ -0,0 +1,5 @@ +#! /usr/bin/env raku + +unit sub MAIN ($date where $date ~~ /^ \d\d\d\d \- \d\d \- \d\d $/); + +say $date.split('-').map( *.fmt('%b') ).join('-'); diff --git a/challenge-332/arne-sommer/raku/ch-2.raku b/challenge-332/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..62c6db3aad --- /dev/null +++ b/challenge-332/arne-sommer/raku/ch-2.raku @@ -0,0 +1,14 @@ +#! /usr/bin/env raku + +unit sub MAIN ($str where $str.chars > 0, :v(:$verbose)); + +my $bag = $str.comb.grep(/<[a..z A..Z]>/).Bag; +my @even = $bag.grep( *.value %% 2 )>>.key; + +if $verbose +{ + say ": Bag: { $bag.raku }"; + say ": Even letters: { @even.join(", ") }"; +} + +say @even.elems == 0; \ No newline at end of file diff --git a/challenge-332/arne-sommer/raku/odd-letters b/challenge-332/arne-sommer/raku/odd-letters new file mode 100755 index 0000000000..62c6db3aad --- /dev/null +++ b/challenge-332/arne-sommer/raku/odd-letters @@ -0,0 +1,14 @@ +#! /usr/bin/env raku + +unit sub MAIN ($str where $str.chars > 0, :v(:$verbose)); + +my $bag = $str.comb.grep(/<[a..z A..Z]>/).Bag; +my @even = $bag.grep( *.value %% 2 )>>.key; + +if $verbose +{ + say ": Bag: { $bag.raku }"; + say ": Even letters: { @even.join(", ") }"; +} + +say @even.elems == 0; \ No newline at end of file -- cgit