diff options
| author | 冯昶 <fengchang@novel-supertv.com> | 2025-07-28 11:13:44 +0800 |
|---|---|---|
| committer | 冯昶 <fengchang@novel-supertv.com> | 2025-07-28 11:13:44 +0800 |
| commit | c1be3513119ef5f20943a369f4b2fdecab919edb (patch) | |
| tree | 584571fcd40fd9ab007915682340461799a1de78 | |
| parent | 1ff2c9796a511d63231d3757acb27e4046a91fb2 (diff) | |
| download | perlweeklychallenge-club-c1be3513119ef5f20943a369f4b2fdecab919edb.tar.gz perlweeklychallenge-club-c1be3513119ef5f20943a369f4b2fdecab919edb.tar.bz2 perlweeklychallenge-club-c1be3513119ef5f20943a369f4b2fdecab919edb.zip | |
challenge 332, raku solutions
| -rwxr-xr-x | challenge-332/feng-chang/raku/ch-1.raku | 5 | ||||
| -rwxr-xr-x | challenge-332/feng-chang/raku/ch-2.raku | 5 | ||||
| -rwxr-xr-x | challenge-332/feng-chang/raku/test.raku | 25 |
3 files changed, 35 insertions, 0 deletions
diff --git a/challenge-332/feng-chang/raku/ch-1.raku b/challenge-332/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..44b3e022f3 --- /dev/null +++ b/challenge-332/feng-chang/raku/ch-1.raku @@ -0,0 +1,5 @@ +#!/bin/env raku + +unit sub MAIN(Str:D $date where *.Date); + +put $date.comb(/\d+/).map(*.Int.base(2)).join('-'); diff --git a/challenge-332/feng-chang/raku/ch-2.raku b/challenge-332/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..21dd8d3b21 --- /dev/null +++ b/challenge-332/feng-chang/raku/ch-2.raku @@ -0,0 +1,5 @@ +#!/bin/env raku + +unit sub MAIN(Str:D $s); + +put so $s.comb.Bag.values.map(* % 2 == 1).all; diff --git a/challenge-332/feng-chang/raku/test.raku b/challenge-332/feng-chang/raku/test.raku new file mode 100755 index 0000000000..82eb583a29 --- /dev/null +++ b/challenge-332/feng-chang/raku/test.raku @@ -0,0 +1,25 @@ +#!/bin/env raku + +# The Weekly Challenge 332 +use Test; + +sub pwc-test(Str:D $script, Bool :$deeply? = False, *@input) { + my ($expect, $assertion) = @input.splice(*-2, 2); + my $p = run $script, |@input, :out; + if $deeply { + is-deeply $p.out.slurp(:close).chomp.words.Bag, $expect, $assertion; + } else { + is $p.out.slurp(:close).chomp, $expect, $assertion; + } +} + +# Task 1, Binary Date +pwc-test './ch-1.raku', '2025-07-26', '11111101001-111-11010', 'Binary Date: 2025-07-26 => 11111101001-111-11010'; +pwc-test './ch-1.raku', '2000-02-02', '11111010000-10-10', 'Binary Date: 2000-02-02 => 11111010000-10-10'; +pwc-test './ch-1.raku', '2024-12-31', '11111101000-1100-11111', 'Binary Date: 2024-12-31 => 11111101000-1100-11111'; + +# Task 2, Odd Letters +pwc-test './ch-2.raku', 'weekly', 'False', 'Odd Letters: weekly => false'; +pwc-test './ch-2.raku', 'perl', 'True', 'Odd Letters: perl => true'; +pwc-test './ch-2.raku', 'challenge', 'False', 'Odd Letters: challenge => false'; +pwc-test './ch-2.raku', 'eerie', 'True', 'Odd Letters: eerie => true'; |
