From 25e5a2d3e45800e6ff6c24ba76c1b7f753113017 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 16 Jan 2023 07:27:16 +0000 Subject: Initial 200 (Raku) --- challenge-200/mark-anderson/raku/ch-1.raku | 18 ++++ challenge-200/mark-anderson/raku/ch-2.raku | 130 +++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 challenge-200/mark-anderson/raku/ch-1.raku create mode 100644 challenge-200/mark-anderson/raku/ch-2.raku diff --git a/challenge-200/mark-anderson/raku/ch-1.raku b/challenge-200/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..cbec03c451 --- /dev/null +++ b/challenge-200/mark-anderson/raku/ch-1.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku +use Test; + +is arithmetic-slices(1,2,3,4), ((1,2,3), (2,3,4), (1,2,3,4)); +is arithmetic-slices(2), (); +is arithmetic-slices(1,2,3,5,6,7), ((1,2,3), (5,6,7)); +is arithmetic-slices(1,4,7,8,9,11,13), ((1,4,7), (7,8,9), (9,11,13)); + +sub arithmetic-slices(*@array) +{ + gather for 3..@array.elems + { + for @array.rotor($_ => -.pred) + { + .take if [==] .rotor(2 => -1).map({ .[0] - .[1] }) + } + } +} diff --git a/challenge-200/mark-anderson/raku/ch-2.raku b/challenge-200/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..d8332f7aaf --- /dev/null +++ b/challenge-200/mark-anderson/raku/ch-2.raku @@ -0,0 +1,130 @@ +#!/usr/bin/env raku +use Test; + +is ASCII-Art(200), chomp q:to/END/; + ------- ------- ------- + | | | | | + | | | | | + ------- | | | | + | | | | | + | | | | | + ------- ------- ------- + END + +is ASCII-Art(5280), chomp q:to/END/; + ------- ------- ------- ------- + | | | | | | + | | | | | | + ------- ------- ------- | | + | | | | | | + | | | | | | + ------- ------- ------- ------- + END + +sub ASCII-Art($n) +{ + my @digits = + [ + (chomp q:to/END/).split("\n").Array, + ------- + | | + | | + | | + | | + | | + ------- + END + + (chomp q:to/END/).split("\n").Array, + | + | + | + | + | + | + | + END + + (chomp q:to/END/).split("\n").Array, + ------- + | + | + ------- + | + | + ------- + END + + (chomp q:to/END/).split("\n").Array, + ------- + | + | + ------- + | + | + ------- + END + + (chomp q:to/END/).split("\n").Array, + | | + | | + | | + ------- + | + | + | + END + + (chomp q:to/END/).split("\n").Array, + ------- + | + | + ------- + | + | + ------- + END + + (chomp q:to/END/).split("\n").Array, + ------- + | + | + ------- + | | + | | + ------- + END + + (chomp q:to/END/).split("\n").Array, + ------- + | + | + | + | + | + | + END + + (chomp q:to/END/).split("\n").Array, + ------- + | | + | | + ------- + | | + | | + ------- + END + + (chomp q:to/END/).split("\n").Array + ------- + | | + | | + ------- + | + | + ------- + END + ]; + + ([Z] @digits[$n.comb]).join("\n") +} -- cgit From 961677efa2e722b447f2e497751878aefa668379 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Wed, 18 Jan 2023 04:49:00 +0000 Subject: Challenge 200 Solutions (Raku) --- challenge-200/mark-anderson/raku/ch-2.raku | 68 +++++++++++++++--------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/challenge-200/mark-anderson/raku/ch-2.raku b/challenge-200/mark-anderson/raku/ch-2.raku index d8332f7aaf..abe46727e9 100644 --- a/challenge-200/mark-anderson/raku/ch-2.raku +++ b/challenge-200/mark-anderson/raku/ch-2.raku @@ -2,23 +2,23 @@ use Test; is ASCII-Art(200), chomp q:to/END/; - ------- ------- ------- + ----- ----- ----- | | | | | | | | | | - ------- | | | | + ----- | | | | | | | | | | | | | | - ------- ------- ------- + ----- ----- ----- END is ASCII-Art(5280), chomp q:to/END/; - ------- ------- ------- ------- + ----- ----- ----- ----- | | | | | | | | | | | | - ------- ------- ------- | | + ----- ----- ----- | | | | | | | | | | | | | | - ------- ------- ------- ------- + ----- ----- ----- ----- END sub ASCII-Art($n) @@ -26,103 +26,103 @@ sub ASCII-Art($n) my @digits = [ (chomp q:to/END/).split("\n").Array, - ------- + ----- | | | | | | | | | | - ------- + ----- END - + (chomp q:to/END/).split("\n").Array, + - | | | | | - | - | + - END (chomp q:to/END/).split("\n").Array, - ------- + ----- | | - ------- + ----- | | - ------- + ----- END (chomp q:to/END/).split("\n").Array, - ------- + ----- | | - ------- + ----- | | - ------- + ----- END (chomp q:to/END/).split("\n").Array, + - - | | | | - | | - ------- - | + ----- | | + - END (chomp q:to/END/).split("\n").Array, - ------- + ----- | | - ------- + ----- | | - ------- + ----- END (chomp q:to/END/).split("\n").Array, - ------- + ----- | | - ------- + ----- | | | | - ------- + ----- END (chomp q:to/END/).split("\n").Array, - ------- - | + ----- | | | | | + - END (chomp q:to/END/).split("\n").Array, - ------- + ----- | | | | - ------- + ----- | | | | - ------- + ----- END (chomp q:to/END/).split("\n").Array - ------- + ----- | | | | - ------- + ----- | | - ------- + ----- END ]; -- cgit