aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2021-01-11 12:37:49 +0100
committerLuca Ferrari <fluca1978@gmail.com>2021-01-11 12:37:49 +0100
commitbefc5e092cc1ac2c44970176d39a4b5a98470c46 (patch)
tree0cd4c5c00a2c5d441bf68c7bd3c5561cd0c3f695
parent5ab993f243ab1a835d8f30aa6c97b2d3b99496af (diff)
downloadperlweeklychallenge-club-befc5e092cc1ac2c44970176d39a4b5a98470c46.tar.gz
perlweeklychallenge-club-befc5e092cc1ac2c44970176d39a4b5a98470c46.tar.bz2
perlweeklychallenge-club-befc5e092cc1ac2c44970176d39a4b5a98470c46.zip
Task 1 and 2 done.
-rw-r--r--challenge-095/luca-ferrari/raku/ch-1.p66
-rw-r--r--challenge-095/luca-ferrari/raku/ch-2.p643
2 files changed, 49 insertions, 0 deletions
diff --git a/challenge-095/luca-ferrari/raku/ch-1.p6 b/challenge-095/luca-ferrari/raku/ch-1.p6
new file mode 100644
index 0000000000..3e46a573fd
--- /dev/null
+++ b/challenge-095/luca-ferrari/raku/ch-1.p6
@@ -0,0 +1,6 @@
+#!raku
+
+
+sub MAIN( Int :$N = 1 ) {
+ say ~$N == ~$N.flip ?? '1' !! '0';
+}
diff --git a/challenge-095/luca-ferrari/raku/ch-2.p6 b/challenge-095/luca-ferrari/raku/ch-2.p6
new file mode 100644
index 0000000000..acec821fab
--- /dev/null
+++ b/challenge-095/luca-ferrari/raku/ch-2.p6
@@ -0,0 +1,43 @@
+#!raku
+
+
+class SimpleStack {
+ has Int @!elements;
+
+ submethod BUILD {
+ @!elements = Array.new;
+ }
+
+ method push( Int $n ) { @!elements.push: $n; }
+ method pop() { @!elements[ @!elements.elems - 1 ]:delete; }
+ method top() { @!elements.reverse[ 0 ]; }
+ method min() { @!elements.min; }
+ method print() { say $_ for @!elements.reverse; }
+}
+
+
+sub MAIN() {
+ my SimpleStack $stack = SimpleStack.new;
+ $stack.push(2);
+ $stack.push(-1);
+ $stack.push(0);
+ # the stack is now 0 -1 2
+ # say "==================";
+ # $stack.print;
+ # say "Min { $stack.min } e top {$stack.top}";
+# say "==================";
+ $stack.pop; # removes 0
+ # the stack is now -1 2
+ say $stack.top; # prints -1
+ # say "==================";
+ # $stack.print;
+ # say "Min { $stack.min } e top {$stack.top}";
+ # say "==================";
+ $stack.push(0);
+ # the stack is now 0 -1 2
+ say $stack.min; # prints -1
+ # say "==================";
+ # say $stack.print;
+ # say "Min { $stack.min } e top {$stack.top}";
+ # say "==================";
+}