aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-07-03 10:45:45 +0100
committerGitHub <noreply@github.com>2021-07-03 10:45:45 +0100
commita2dcdf9b2ad8b815961325a5651478f7d3b2e1db (patch)
tree681509d471d51e8b374db31049ea8fc0cdeadd34
parent34c6a392ce119ae3fb583055dc43e7d98058e5d2 (diff)
parent88abb0430daab8e90f71df4ec0e5a28f45a4527c (diff)
downloadperlweeklychallenge-club-a2dcdf9b2ad8b815961325a5651478f7d3b2e1db.tar.gz
perlweeklychallenge-club-a2dcdf9b2ad8b815961325a5651478f7d3b2e1db.tar.bz2
perlweeklychallenge-club-a2dcdf9b2ad8b815961325a5651478f7d3b2e1db.zip
Merge pull request #4398 from wambash/challenge-week-119
solutions week 119
-rw-r--r--challenge-119/wambash/raku/ch-1.raku19
-rw-r--r--challenge-119/wambash/raku/ch-2.raku16
2 files changed, 35 insertions, 0 deletions
diff --git a/challenge-119/wambash/raku/ch-1.raku b/challenge-119/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..b47594c4f5
--- /dev/null
+++ b/challenge-119/wambash/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub swap-nibbles ($n) {
+ blob8.new($n)
+ andthen .read-ubits(4,4)*16 + .read-ubits(0,4)
+}
+
+multi MAIN (Int $n ) {
+ say swap-nibbles $n;
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is swap-nibbles(101), 86;
+ is swap-nibbles(18), 33;
+ is swap-nibbles(255), 255;
+ is swap-nibbles(17), 17;
+ done-testing;
+}
diff --git a/challenge-119/wambash/raku/ch-2.raku b/challenge-119/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..8a90daa9a6
--- /dev/null
+++ b/challenge-119/wambash/raku/ch-2.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+sub sequence-without-iter (+@n) {
+ @n
+ andthen 1,2,3 X~ $_
+ andthen .grep: {!/11/}
+}
+
+constant @sequence-without = ((1,2,3), { sequence-without-iter(|$_).cache } ... *).flat;
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is sequence-without-iter(''), <1 2 3>;
+ is sequence-without-iter(1,2,3), <12 13 21 22 23 31 32 33>;
+ is @sequence-without.head(15), (1, 2, 3, 12, 13, 21, 22, 23, 31, 32, 33, 121, 122, 123, 131);
+ done-testing;
+}