aboutsummaryrefslogtreecommitdiff
path: root/challenge-042
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2020-11-08 14:42:45 -0500
committerchirvasitua <stuart-little@users.noreply.github.com>2020-11-08 14:42:45 -0500
commit313334f8cfb42059e61aeb74b2fc05db43ab1653 (patch)
tree3aedb58c66e2c89685504bf8c112e7a6fdf9ded4 /challenge-042
parent5b90afe957e0cff83a1d1cf7381a195a98b1f1ca (diff)
downloadperlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.tar.gz
perlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.tar.bz2
perlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.zip
initial commit on 040-042, 060-061, 063
Diffstat (limited to 'challenge-042')
-rw-r--r--challenge-042/stuart-little/README1
-rwxr-xr-xchallenge-042/stuart-little/raku/ch-1.p66
-rwxr-xr-xchallenge-042/stuart-little/raku/ch-2.p620
3 files changed, 27 insertions, 0 deletions
diff --git a/challenge-042/stuart-little/README b/challenge-042/stuart-little/README
new file mode 100644
index 0000000000..78439907de
--- /dev/null
+++ b/challenge-042/stuart-little/README
@@ -0,0 +1 @@
+Solutions by Stuart Little
diff --git a/challenge-042/stuart-little/raku/ch-1.p6 b/challenge-042/stuart-little/raku/ch-1.p6
new file mode 100755
index 0000000000..d65fc51cdc
--- /dev/null
+++ b/challenge-042/stuart-little/raku/ch-1.p6
@@ -0,0 +1,6 @@
+#!/usr/bin/env perl6
+use v6;
+
+for (0..((@*ARGS) ?? (@*ARGS[0].Int) !! (50))).map({ "Decimal: $_ -- Octal: $_.base(8)" }) {.say}
+
+# run as <script> <decimal number to go up to> or just <script> to default to the range 0..50
diff --git a/challenge-042/stuart-little/raku/ch-2.p6 b/challenge-042/stuart-little/raku/ch-2.p6
new file mode 100755
index 0000000000..18e0b20559
--- /dev/null
+++ b/challenge-042/stuart-little/raku/ch-2.p6
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl6
+use v6;
+
+grammar BAL {
+ regex TOP { <expr>* }
+ regex expr { '(' <expr>* ')' }
+}
+
+given @*ARGS[0] {
+ when /^\d+$/ {
+ say "Random string of parens: ", my $s=<( )>.roll(@*ARGS[0].Int).join;
+ say "Balanced: ", BAL.parse($s).Bool
+ }
+ when /^<[()]>*$/ {
+ say "Balanced: ", BAL.parse(@*ARGS[0]).Bool
+ }
+}
+
+# run as <script> <number of parentheses> or
+# <script> <single-quoted string of parens>