aboutsummaryrefslogtreecommitdiff
path: root/challenge-042/markus-holzer
diff options
context:
space:
mode:
authordrclaw1394 <drclaw@mac.com>2020-01-07 16:30:27 +1000
committerGitHub <noreply@github.com>2020-01-07 16:30:27 +1000
commit896b7ced42b40eb3ee62c38d237d4d07df51f169 (patch)
tree73af7aec5c7a251f6f5030fa9a7e39ae412af123 /challenge-042/markus-holzer
parent7649e23d2b150b36cdd134bcf17125f3b9696ada (diff)
parente015238170e27c690e4f46646b6687f600fd0c59 (diff)
downloadperlweeklychallenge-club-896b7ced42b40eb3ee62c38d237d4d07df51f169.tar.gz
perlweeklychallenge-club-896b7ced42b40eb3ee62c38d237d4d07df51f169.tar.bz2
perlweeklychallenge-club-896b7ced42b40eb3ee62c38d237d4d07df51f169.zip
Merge pull request #41 from manwar/master
Update to w42
Diffstat (limited to 'challenge-042/markus-holzer')
-rw-r--r--challenge-042/markus-holzer/README1
-rw-r--r--challenge-042/markus-holzer/raku/ch-1.p61
-rw-r--r--challenge-042/markus-holzer/raku/ch-2.p625
3 files changed, 27 insertions, 0 deletions
diff --git a/challenge-042/markus-holzer/README b/challenge-042/markus-holzer/README
new file mode 100644
index 0000000000..d01b41eafd
--- /dev/null
+++ b/challenge-042/markus-holzer/README
@@ -0,0 +1 @@
+Solutions by Markus Holzer. \ No newline at end of file
diff --git a/challenge-042/markus-holzer/raku/ch-1.p6 b/challenge-042/markus-holzer/raku/ch-1.p6
new file mode 100644
index 0000000000..ae8c600430
--- /dev/null
+++ b/challenge-042/markus-holzer/raku/ch-1.p6
@@ -0,0 +1 @@
+.base(8).say for ^51 \ No newline at end of file
diff --git a/challenge-042/markus-holzer/raku/ch-2.p6 b/challenge-042/markus-holzer/raku/ch-2.p6
new file mode 100644
index 0000000000..7fea6b3df8
--- /dev/null
+++ b/challenge-042/markus-holzer/raku/ch-2.p6
@@ -0,0 +1,25 @@
+sub generate-string
+{
+ my @braces = "(", ")";
+ my $length = ( 2 ..^ 6 ).pick;
+ my @string = ( 0 .. $length ).map({ @braces.pick });
+ @string.join( "" );
+}
+
+sub test-string( $string )
+{
+ my token opening-brace { \( };
+ my token closing-brace { \) };
+ my token balanced-braces {
+ ( <opening-brace>+ ) <closing-brace> ** { $0.chars }
+ };
+
+ so $string ~~ /^ <balanced-braces> $/;
+}
+
+for ( ^50 )
+{
+ my $string = generate-string;
+ my $result = test-string( $string );
+ say "$string is { $result ?? 'balanced' !! 'unbalanced' }";
+}