aboutsummaryrefslogtreecommitdiff
path: root/challenge-142
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-142')
-rw-r--r--challenge-142/wambash/raku/ch-2.raku20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-142/wambash/raku/ch-2.raku b/challenge-142/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..0d44f9e652
--- /dev/null
+++ b/challenge-142/wambash/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+sub sleep-sort (+@n) {
+ my Channel $ch .= new;
+ @n
+ andthen .map: {start {sleep $_/5;$ch.send($_)}}\
+ andthen await $_;
+ $ch .close;
+ $ch.list;
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is( sleep-sort($_),(1...10),$_) for (1 .. 10).pick(10) xx 3;
+ done-testing;
+}
+
+multi MAIN (*@n) {
+ say sleep-sort @n
+}