aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-03 00:45:08 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-03 00:45:08 +0100
commit5144dc2f88d70ae9640bf99019c0cd2496825f7a (patch)
treec0ade9b3d27ed7d4a1ca1f6175e95a0ba3a08819
parentb031e08e402e14f96d25cc17c84a7c6438fa060a (diff)
parent2fdaaa88959c34a46a9db6e8a2a9864ba4716673 (diff)
downloadperlweeklychallenge-club-5144dc2f88d70ae9640bf99019c0cd2496825f7a.tar.gz
perlweeklychallenge-club-5144dc2f88d70ae9640bf99019c0cd2496825f7a.tar.bz2
perlweeklychallenge-club-5144dc2f88d70ae9640bf99019c0cd2496825f7a.zip
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
-rw-r--r--challenge-063/markus-holzer/ch-1.raku8
-rw-r--r--challenge-063/markus-holzer/ch-2.raku19
2 files changed, 27 insertions, 0 deletions
diff --git a/challenge-063/markus-holzer/ch-1.raku b/challenge-063/markus-holzer/ch-1.raku
new file mode 100644
index 0000000000..7336e63f9c
--- /dev/null
+++ b/challenge-063/markus-holzer/ch-1.raku
@@ -0,0 +1,8 @@
+sub last-word( Str $sentence, Regex $matcher )
+{
+ $sentence.words.grep( $matcher ).tail;
+}
+
+say last-word( ' hello world', rx/ <[ea]> l / ); # 'hello'
+say last-word( "Don't match too much, Chet!", rx:i/ ch . t / ); # 'Chet!'
+say last-word( "spaces in regexp won't match", rx/ \s re / ); # undef
diff --git a/challenge-063/markus-holzer/ch-2.raku b/challenge-063/markus-holzer/ch-2.raku
new file mode 100644
index 0000000000..ba1eb40be2
--- /dev/null
+++ b/challenge-063/markus-holzer/ch-2.raku
@@ -0,0 +1,19 @@
+multi sub rotmodN( Str $orig )
+{
+ rotmodN $orig.comb.List
+}
+
+multi sub rotmodN ( List $orig, $n = $orig.elems )
+{
+ my $work = $orig;
+
+ for ( 1 .. Inf ).map( * % $n ).kv -> $i, $by
+ {
+ $work = $work.rotate: $by;
+
+ return $i + 1
+ if $work cmp $orig == Same
+ }
+}
+
+say rotmodN 'xyxx' \ No newline at end of file