aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarnesom <arne@bbop.org>2023-09-22 23:30:25 +0200
committerarnesom <arne@bbop.org>2023-09-22 23:30:25 +0200
commitffa588b757dabe033da29385b517ff12da3008b7 (patch)
tree4e206f43596d01a3a34a70849073c9bf598e0936
parentba43e97889fede511744942b065a34479b868db4 (diff)
downloadperlweeklychallenge-club-ffa588b757dabe033da29385b517ff12da3008b7.tar.gz
perlweeklychallenge-club-ffa588b757dabe033da29385b517ff12da3008b7.tar.bz2
perlweeklychallenge-club-ffa588b757dabe033da29385b517ff12da3008b7.zip
Arne Sommer
-rw-r--r--challenge-235/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-235/arne-sommer/raku/ch-1.raku16
-rwxr-xr-xchallenge-235/arne-sommer/raku/ch-2.raku14
-rwxr-xr-xchallenge-235/arne-sommer/raku/duplicate-zeros14
-rwxr-xr-xchallenge-235/arne-sommer/raku/remove-one16
5 files changed, 61 insertions, 0 deletions
diff --git a/challenge-235/arne-sommer/blog.txt b/challenge-235/arne-sommer/blog.txt
new file mode 100644
index 0000000000..748c6d57b1
--- /dev/null
+++ b/challenge-235/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/one-zero.html
diff --git a/challenge-235/arne-sommer/raku/ch-1.raku b/challenge-235/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..b3c1608d71
--- /dev/null
+++ b/challenge-235/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,16 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where all(@ints) ~~ Int, :v(:$verbose));
+
+# ( say 'true'; exit ) if [<] @ints;
+
+for 0 .. @ints.end -> $index
+{
+ my @copy = @ints.clone;
+ @copy.splice($index,1);
+ say ":Index $index: remove value @ints[$index] -> @copy[]" if $verbose;
+ ( say 'true'; exit ) if [<] @copy;
+}
+
+say 'false';
+
diff --git a/challenge-235/arne-sommer/raku/ch-2.raku b/challenge-235/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..939c9d040e
--- /dev/null
+++ b/challenge-235/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,14 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where all(@ints) ~~ Int);
+
+my $seq := gather
+{
+ for @ints -> $int
+ {
+ take $int;
+ take $int if $int == 0;
+ }
+}
+
+say "({ $seq[^@ints.elems].join(", ") })";
diff --git a/challenge-235/arne-sommer/raku/duplicate-zeros b/challenge-235/arne-sommer/raku/duplicate-zeros
new file mode 100755
index 0000000000..939c9d040e
--- /dev/null
+++ b/challenge-235/arne-sommer/raku/duplicate-zeros
@@ -0,0 +1,14 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where all(@ints) ~~ Int);
+
+my $seq := gather
+{
+ for @ints -> $int
+ {
+ take $int;
+ take $int if $int == 0;
+ }
+}
+
+say "({ $seq[^@ints.elems].join(", ") })";
diff --git a/challenge-235/arne-sommer/raku/remove-one b/challenge-235/arne-sommer/raku/remove-one
new file mode 100755
index 0000000000..b3c1608d71
--- /dev/null
+++ b/challenge-235/arne-sommer/raku/remove-one
@@ -0,0 +1,16 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where all(@ints) ~~ Int, :v(:$verbose));
+
+# ( say 'true'; exit ) if [<] @ints;
+
+for 0 .. @ints.end -> $index
+{
+ my @copy = @ints.clone;
+ @copy.splice($index,1);
+ say ":Index $index: remove value @ints[$index] -> @copy[]" if $verbose;
+ ( say 'true'; exit ) if [<] @copy;
+}
+
+say 'false';
+