aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-12-04 09:33:15 +0000
committerGitHub <noreply@github.com>2022-12-04 09:33:15 +0000
commit02943dd9518af4beef75cf8708b2fbe93d586df8 (patch)
tree59ad1dff455985b8c32750162b34a4c430e34e29
parent7b20d63dc4dba5367930bd615f15e31ac6483747 (diff)
parent2c6b15788d82638630f392993b4f6fc1410bc1fd (diff)
downloadperlweeklychallenge-club-02943dd9518af4beef75cf8708b2fbe93d586df8.tar.gz
perlweeklychallenge-club-02943dd9518af4beef75cf8708b2fbe93d586df8.tar.bz2
perlweeklychallenge-club-02943dd9518af4beef75cf8708b2fbe93d586df8.zip
Merge pull request #7195 from wambash/challenge-week-193
solutions week 193
-rw-r--r--challenge-193/wambash/raku/ch-1.raku16
-rw-r--r--challenge-193/wambash/raku/ch-2.raku29
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-193/wambash/raku/ch-1.raku b/challenge-193/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..17beba4fd1
--- /dev/null
+++ b/challenge-193/wambash/raku/ch-1.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+sub binary-string ($n) {
+ [X~] ^2 xx $n
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is binary-string(2), <00 01 10 11>;
+ is binary-string(3), <000 001 010 011 100 101 110 111>;
+ done-testing;
+}
+
+multi MAIN ($n) {
+ .put for binary-string $n
+}
diff --git a/challenge-193/wambash/raku/ch-2.raku b/challenge-193/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..aeb3e2e364
--- /dev/null
+++ b/challenge-193/wambash/raku/ch-2.raku
@@ -0,0 +1,29 @@
+#!/usr/bin/env raku
+
+sub difference-array ($s) {
+ $s
+ andthen .comb
+ andthen .map: &ord
+ andthen .cache
+ andthen .skip Z- $_
+ andthen .Capture
+}
+
+sub odd-string (+@s) {
+ @s
+ andthen .classify: &difference-array
+ andthen .values
+ andthen .grep: *.elems == 1
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is difference-array('wzy'), \(3,-1);
+ is odd-string(<adc wzy abc>),'abc';
+ is odd-string('aaa', 'bob', 'ccc', 'ddd'), 'bob';
+ done-testing;
+}
+
+multi MAIN (*@s) {
+ put odd-string @s
+}