aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-098/mark-anderson/raku/ch-1.raku17
-rw-r--r--challenge-098/mark-anderson/raku/ch-2.raku13
-rw-r--r--challenge-098/mark-anderson/raku/input.txt1
3 files changed, 31 insertions, 0 deletions
diff --git a/challenge-098/mark-anderson/raku/ch-1.raku b/challenge-098/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..91c9b769b5
--- /dev/null
+++ b/challenge-098/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,17 @@
+#!/usr/bin/env raku
+use Test;
+plan 3;
+
+is readN("input.txt", 4), "1234";
+is readN("input.txt", 4), "5678";
+is readN("input.txt", 4), "90";
+
+sub readN($FILE, $number)
+{
+ my $fh = open $FILE, :r;
+ my $head = $fh.readchars: $number;
+ my $tail = $fh.slurp;
+ $fh.close;
+ $FILE.IO.spurt: $tail;
+ return $head;
+}
diff --git a/challenge-098/mark-anderson/raku/ch-2.raku b/challenge-098/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..12bf7ec466
--- /dev/null
+++ b/challenge-098/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/env raku
+use Test;
+plan 4;
+
+is position(3, (1, 2, 3, 4)), 2;
+is position(6, (1, 3, 5, 7)), 3;
+is position(10, (12, 14, 16, 18)), 0;
+is position(19, (11, 13, 15, 17)), 4;
+
+multi position($N, @N)
+{
+ (first * >= $N, :k, @N) // +@N;
+}
diff --git a/challenge-098/mark-anderson/raku/input.txt b/challenge-098/mark-anderson/raku/input.txt
new file mode 100644
index 0000000000..6a537b5b36
--- /dev/null
+++ b/challenge-098/mark-anderson/raku/input.txt
@@ -0,0 +1 @@
+1234567890 \ No newline at end of file