aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Limkemann <tslimkemann42@gmail.com>2019-10-21 14:32:59 -0700
committerTyler Limkemann <tslimkemann42@gmail.com>2019-10-21 14:32:59 -0700
commit0cc93e0a59b0d142225034d57c05bb4caffa28be (patch)
treee9936a2a49254b2bd48ee33c788367b9f34a6324
parent3a07c75601b22087d31bab69cd4c731af727fba3 (diff)
downloadperlweeklychallenge-club-0cc93e0a59b0d142225034d57c05bb4caffa28be.tar.gz
perlweeklychallenge-club-0cc93e0a59b0d142225034d57c05bb4caffa28be.tar.bz2
perlweeklychallenge-club-0cc93e0a59b0d142225034d57c05bb4caffa28be.zip
Tyler's solutions for #31
-rw-r--r--challenge-031/tyler-limkemann/README1
-rw-r--r--challenge-031/tyler-limkemann/ch-1.p62
-rw-r--r--challenge-031/tyler-limkemann/ch-2.p618
3 files changed, 21 insertions, 0 deletions
diff --git a/challenge-031/tyler-limkemann/README b/challenge-031/tyler-limkemann/README
new file mode 100644
index 0000000000..c03a7a0168
--- /dev/null
+++ b/challenge-031/tyler-limkemann/README
@@ -0,0 +1 @@
+Solutions by Tyler Limkemann.
diff --git a/challenge-031/tyler-limkemann/ch-1.p6 b/challenge-031/tyler-limkemann/ch-1.p6
new file mode 100644
index 0000000000..b56840cc6b
--- /dev/null
+++ b/challenge-031/tyler-limkemann/ch-1.p6
@@ -0,0 +1,2 @@
+CATCH { default { "can't divide by 0!".say } }
+(1/0).say;
diff --git a/challenge-031/tyler-limkemann/ch-2.p6 b/challenge-031/tyler-limkemann/ch-2.p6
new file mode 100644
index 0000000000..e84fc90949
--- /dev/null
+++ b/challenge-031/tyler-limkemann/ch-2.p6
@@ -0,0 +1,18 @@
+use MONKEY;
+use nqp;
+
+class Contextualizer {
+ submethod ctxsave(*@args --> Nil) {
+ $*MAIN_CTX := nqp::ctxcaller(nqp::ctx());
+ }
+}
+
+sub MAIN(Str $s) {
+ my $compiler = nqp::getcomp('perl6');
+
+ my $*MAIN_CTX := nqp::ctx();
+ my $*CTXSAVE := Contextualizer;
+
+ $compiler.eval("my \${$s.uc} = ':)'", :outer_ctx($*MAIN_CTX), :interactive(1));
+ $compiler.eval("\${$s.uc}.say", :outer_ctx($*MAIN_CTX), :interactive(1));
+} \ No newline at end of file