aboutsummaryrefslogtreecommitdiff
path: root/challenge-063
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2020-11-08 14:42:45 -0500
committerchirvasitua <stuart-little@users.noreply.github.com>2020-11-08 14:42:45 -0500
commit313334f8cfb42059e61aeb74b2fc05db43ab1653 (patch)
tree3aedb58c66e2c89685504bf8c112e7a6fdf9ded4 /challenge-063
parent5b90afe957e0cff83a1d1cf7381a195a98b1f1ca (diff)
downloadperlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.tar.gz
perlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.tar.bz2
perlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.zip
initial commit on 040-042, 060-061, 063
Diffstat (limited to 'challenge-063')
-rw-r--r--challenge-063/stuart-little/README1
-rwxr-xr-xchallenge-063/stuart-little/raku/ch-1.p613
-rwxr-xr-xchallenge-063/stuart-little/raku/ch-2.p611
3 files changed, 25 insertions, 0 deletions
diff --git a/challenge-063/stuart-little/README b/challenge-063/stuart-little/README
new file mode 100644
index 0000000000..78439907de
--- /dev/null
+++ b/challenge-063/stuart-little/README
@@ -0,0 +1 @@
+Solutions by Stuart Little
diff --git a/challenge-063/stuart-little/raku/ch-1.p6 b/challenge-063/stuart-little/raku/ch-1.p6
new file mode 100755
index 0000000000..a3b1e2d610
--- /dev/null
+++ b/challenge-063/stuart-little/raku/ch-1.p6
@@ -0,0 +1,13 @@
+#!/usr/bin/env perl6
+use v6;
+use MONKEY-SEE-NO-EVAL;
+
+sub last_word($s,$r) {
+ my $rx=EVAL($r);
+ $s.split(/\s+/).reverse.first(* ~~ $rx)
+}
+
+last_word(|@*ARGS[0,1]).say
+
+# run as <script> <quoted string> <singly-quoted regex in rx format>
+# e.g. <script> "Don't match too much, Chet!" 'rx:i/ch.t/'
diff --git a/challenge-063/stuart-little/raku/ch-2.p6 b/challenge-063/stuart-little/raku/ch-2.p6
new file mode 100755
index 0000000000..1c33e185f2
--- /dev/null
+++ b/challenge-063/stuart-little/raku/ch-2.p6
@@ -0,0 +1,11 @@
+#!/usr/bin/env perl6
+use v6;
+
+sub rt(Str $s, Int $n where * > 0) {
+ $s.substr(($n % $s.chars)) ~ $s.substr(0..^($n % $s.chars))
+}
+
+my $word=@*ARGS[0];
+say (1..*).first({ rt($word, ($_*($_+1)/2).Int) eq $word }, :k)+1
+
+# run as <script> <word>