aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-263/wambash/raku/ch-1.raku19
-rw-r--r--challenge-263/wambash/raku/ch-2.raku19
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-263/wambash/raku/ch-1.raku b/challenge-263/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..13d3ccf8db
--- /dev/null
+++ b/challenge-263/wambash/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub target-index (+ints,:$k) {
+ ints
+ andthen .sort
+ andthen .grep: { $_ == $k },:k
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is target-index(1,5,3,2,4,2,:2k),(1,2);
+ is target-index(1..5,:6k),();
+ is target-index(5,3,2,4,2,1,:4k),(4);
+ done-testing;
+}
+
+multi MAIN (+ints,:$k) {
+ put target-index ints,:$k
+}
diff --git a/challenge-263/wambash/raku/ch-2.raku b/challenge-263/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..91656fd521
--- /dev/null
+++ b/challenge-263/wambash/raku/ch-2.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub merge-items (*@items) {
+ @items
+ andthen .map: *.pairup
+ andthen .Bag
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is-deeply merge-items([[1,1],[2,1],[3,2]],[[2,2],[1,3]]),(1=>4 ,2=>3,3=>2).Bag;
+ is-deeply merge-items([ [1,2], [2,3], [1,3], [3,2] ],[ [3,1], [1,3] ]),(1=>8 ,2=>3,3=>3).Bag;
+ is-deeply merge-items([ [1,1], [2,2], [3,3]],[ [2,3], [2,4] ]),(1=>1 ,2=>9,3=>3).Bag;
+ done-testing;
+}
+
+multi MAIN (*@items) {
+ .put for merge-items @itemsĀ».split(',')
+}