From 903d7f9729a3debf23370afa22edcbfd92c25789 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 1 Feb 2021 02:54:55 -0700 Subject: Challenge 98 Solutions (Raku) --- challenge-098/mark-anderson/raku/ch-1.raku | 17 +++++++++++++++++ challenge-098/mark-anderson/raku/ch-2.raku | 13 +++++++++++++ challenge-098/mark-anderson/raku/input.txt | 1 + 3 files changed, 31 insertions(+) create mode 100644 challenge-098/mark-anderson/raku/ch-1.raku create mode 100644 challenge-098/mark-anderson/raku/ch-2.raku create mode 100644 challenge-098/mark-anderson/raku/input.txt 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 -- cgit