aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-01-06 15:28:03 +0000
committerGitHub <noreply@github.com>2020-01-06 15:28:03 +0000
commitb2410fca13fcb8bab2632df0dfbd4a801b86dd4c (patch)
tree3e18429323c5af76cb5a3836f61ed646c582be20
parent8f229ddc13570f5a8adae0751634fc3cf81b4e7a (diff)
parent36497875a95963c8629209706f525a6982f8ffa1 (diff)
downloadperlweeklychallenge-club-b2410fca13fcb8bab2632df0dfbd4a801b86dd4c.tar.gz
perlweeklychallenge-club-b2410fca13fcb8bab2632df0dfbd4a801b86dd4c.tar.bz2
perlweeklychallenge-club-b2410fca13fcb8bab2632df0dfbd4a801b86dd4c.zip
Merge pull request #1109 from Scimon/master
Challenge 1 is nice and simple
-rw-r--r--challenge-042/simon-proctor/raku/ch-1.p613
-rw-r--r--challenge-042/simon-proctor/raku/ch-2.p627
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-042/simon-proctor/raku/ch-1.p6 b/challenge-042/simon-proctor/raku/ch-1.p6
new file mode 100644
index 0000000000..d7d175ae80
--- /dev/null
+++ b/challenge-042/simon-proctor/raku/ch-1.p6
@@ -0,0 +1,13 @@
+#!/usr/bin/env perl6
+
+use v6;
+
+#| Print the decimal to octal from start to end
+sub MAIN (
+ Int() :$start-val = 0, #= Start value (default 0)
+ Int() :$end-val = 50, #= End value (default 50)
+) {
+ for $start-val..$end-val -> \val {
+ say "Decimal {val} = Octal {val.base(8)}";
+ }
+}
diff --git a/challenge-042/simon-proctor/raku/ch-2.p6 b/challenge-042/simon-proctor/raku/ch-2.p6
new file mode 100644
index 0000000000..50178cdb05
--- /dev/null
+++ b/challenge-042/simon-proctor/raku/ch-2.p6
@@ -0,0 +1,27 @@
+#!/usr/bin/env perl6
+
+use v6;
+
+#| Generate a random string of brackets then test if they are balanced
+sub MAIN() {
+ my $brackets = ("(",")").roll( (1..25).pick() * 2 ).join("");
+ say "String to test {$brackets}";
+ say "Balanced? {balanced($brackets)}";
+}
+
+sub balanced( Str \brackets ) {
+ my @list = brackets.comb("");
+ my $count = 0;
+ for @list -> \bracket {
+ given bracket {
+ when "(" {
+ $count++;
+ }
+ when ")" {
+ $count--;
+ }
+ }
+ return False if $count < 0;
+ }
+ return $count == 0;
+}