aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-07-18 22:30:49 +0100
committerGitHub <noreply@github.com>2025-07-18 22:30:49 +0100
commitcf4128f14b5604ed87175e09288164d9030309e8 (patch)
tree827f98ebd9deb4123e83360b74b1bdc9e70e2cd0
parent60e5566c1a85b5eef9dac88637311bd0c01b85ae (diff)
parent5db2af887d5c50bc400bab2e1d6d15d88ba6e0d7 (diff)
downloadperlweeklychallenge-club-cf4128f14b5604ed87175e09288164d9030309e8.tar.gz
perlweeklychallenge-club-cf4128f14b5604ed87175e09288164d9030309e8.tar.bz2
perlweeklychallenge-club-cf4128f14b5604ed87175e09288164d9030309e8.zip
Merge pull request #12366 from arnesom/challenge-330-arne-sommer
week 330 Arne Sommer
-rw-r--r--challenge-330/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-330/arne-sommer/raku/ch-1.raku22
-rwxr-xr-xchallenge-330/arne-sommer/raku/ch-2.raku14
-rwxr-xr-xchallenge-330/arne-sommer/raku/clear-digits22
-rwxr-xr-xchallenge-330/arne-sommer/raku/title-capital14
5 files changed, 73 insertions, 0 deletions
diff --git a/challenge-330/arne-sommer/blog.txt b/challenge-330/arne-sommer/blog.txt
new file mode 100644
index 0000000000..edc217b149
--- /dev/null
+++ b/challenge-330/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/clearly-capital.html \ No newline at end of file
diff --git a/challenge-330/arne-sommer/raku/ch-1.raku b/challenge-330/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..462f51d87a
--- /dev/null
+++ b/challenge-330/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,22 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($str where $str ~~ /^<[ a..z 0 .. 9 ]>+$/,
+ :v(:$verbose));
+
+my @output;
+
+for $str.comb -> $current
+{
+ if $current eq any(0..9)
+ {
+ @output.pop;
+ say ": Digit $current; Remove letter -> { @output.join}" if $verbose;
+ }
+ else
+ {
+ @output.push: $current;
+ say ": Letter $current; Added -> { @output.join}" if $verbose;
+ }
+}
+
+say @output.join; \ No newline at end of file
diff --git a/challenge-330/arne-sommer/raku/ch-2.raku b/challenge-330/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..358f7bc08c
--- /dev/null
+++ b/challenge-330/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,14 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($str where $str.chars > 0,
+ :v(:$verbose));
+
+say $str.words.map( *.&tica ).join(" ");
+
+sub tica ($word)
+{
+ say ": Word: $word" if $verbose;
+
+ return $word.lc if $word.chars <= 2;
+ return $word.lc.tc;
+}
diff --git a/challenge-330/arne-sommer/raku/clear-digits b/challenge-330/arne-sommer/raku/clear-digits
new file mode 100755
index 0000000000..462f51d87a
--- /dev/null
+++ b/challenge-330/arne-sommer/raku/clear-digits
@@ -0,0 +1,22 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($str where $str ~~ /^<[ a..z 0 .. 9 ]>+$/,
+ :v(:$verbose));
+
+my @output;
+
+for $str.comb -> $current
+{
+ if $current eq any(0..9)
+ {
+ @output.pop;
+ say ": Digit $current; Remove letter -> { @output.join}" if $verbose;
+ }
+ else
+ {
+ @output.push: $current;
+ say ": Letter $current; Added -> { @output.join}" if $verbose;
+ }
+}
+
+say @output.join; \ No newline at end of file
diff --git a/challenge-330/arne-sommer/raku/title-capital b/challenge-330/arne-sommer/raku/title-capital
new file mode 100755
index 0000000000..358f7bc08c
--- /dev/null
+++ b/challenge-330/arne-sommer/raku/title-capital
@@ -0,0 +1,14 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($str where $str.chars > 0,
+ :v(:$verbose));
+
+say $str.words.map( *.&tica ).join(" ");
+
+sub tica ($word)
+{
+ say ": Word: $word" if $verbose;
+
+ return $word.lc if $word.chars <= 2;
+ return $word.lc.tc;
+}