aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-095/simon-proctor/raku/ch-1.raku9
-rw-r--r--challenge-095/simon-proctor/raku/ch-2.raku20
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-095/simon-proctor/raku/ch-1.raku b/challenge-095/simon-proctor/raku/ch-1.raku
new file mode 100644
index 0000000000..463db50797
--- /dev/null
+++ b/challenge-095/simon-proctor/raku/ch-1.raku
@@ -0,0 +1,9 @@
+#!/usr/bin/env raku
+
+use v6;
+
+#| Given a Palindromic number print 1
+multi sub MAIN( Int() $N where { $N.Str.flip ~~ $N } ) { say 1 }
+
+#| Given a non Palindromic number print 0
+multi sub MAIN( $ ) { say 0 }
diff --git a/challenge-095/simon-proctor/raku/ch-2.raku b/challenge-095/simon-proctor/raku/ch-2.raku
new file mode 100644
index 0000000000..09f9e1e2ab
--- /dev/null
+++ b/challenge-095/simon-proctor/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+use v6;
+
+role Stack {
+ has @!list handles <push pop min>;
+
+ method top { @!list[*-1]; }
+}
+
+sub MAIN() {
+ my $stack = Stack.new;
+ $stack.push(2);
+ $stack.push(-1);
+ $stack.push(0);
+ say $stack.pop; # print and removes 0
+ say $stack.top; # prints -1
+ $stack.push(0);
+ say $stack.min; # prints -1
+}