aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2023-02-06 19:11:39 +0800
committer冯昶 <fengchang@novel-supertv.com>2023-02-06 19:11:39 +0800
commit9d964b9bb2fc6df2fcaa6018fa6369f582996dab (patch)
tree8e69f6be2586f7b00c7bc303161af06982883dac
parent0f18fa3badcf6e6ddc58e793c868ce041054a496 (diff)
downloadperlweeklychallenge-club-9d964b9bb2fc6df2fcaa6018fa6369f582996dab.tar.gz
perlweeklychallenge-club-9d964b9bb2fc6df2fcaa6018fa6369f582996dab.tar.bz2
perlweeklychallenge-club-9d964b9bb2fc6df2fcaa6018fa6369f582996dab.zip
challeng 203, raku solutions
-rw-r--r--challenge-203/feng-chang/raku/a/b/c/1/1.txt0
-rw-r--r--challenge-203/feng-chang/raku/a/b/c/2/2.txt0
-rw-r--r--challenge-203/feng-chang/raku/a/b/c/3/3.txt0
-rw-r--r--challenge-203/feng-chang/raku/a/b/c/5/5.txt0
-rwxr-xr-xchallenge-203/feng-chang/raku/ch-1.raku5
-rwxr-xr-xchallenge-203/feng-chang/raku/ch-2.raku20
6 files changed, 25 insertions, 0 deletions
diff --git a/challenge-203/feng-chang/raku/a/b/c/1/1.txt b/challenge-203/feng-chang/raku/a/b/c/1/1.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/challenge-203/feng-chang/raku/a/b/c/1/1.txt
diff --git a/challenge-203/feng-chang/raku/a/b/c/2/2.txt b/challenge-203/feng-chang/raku/a/b/c/2/2.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/challenge-203/feng-chang/raku/a/b/c/2/2.txt
diff --git a/challenge-203/feng-chang/raku/a/b/c/3/3.txt b/challenge-203/feng-chang/raku/a/b/c/3/3.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/challenge-203/feng-chang/raku/a/b/c/3/3.txt
diff --git a/challenge-203/feng-chang/raku/a/b/c/5/5.txt b/challenge-203/feng-chang/raku/a/b/c/5/5.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/challenge-203/feng-chang/raku/a/b/c/5/5.txt
diff --git a/challenge-203/feng-chang/raku/ch-1.raku b/challenge-203/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..8d609a3296
--- /dev/null
+++ b/challenge-203/feng-chang/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N);
+
+put @N.sort.combinations(4).grep({ .[0] + .[1] + .[2] == .[3] }).elems;
diff --git a/challenge-203/feng-chang/raku/ch-2.raku b/challenge-203/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..5d6ec35da9
--- /dev/null
+++ b/challenge-203/feng-chang/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#!/bin/env raku
+
+unit sub MAIN(
+ Str:D $source where *.IO.d = 'a/b/c',
+ Str:D $target where *.IO.d = 'x/y',
+);
+
+my $offset;
+
+sub copy-dirs($source, $target) {
+ for $source.IO.dir -> $file {
+ next unless $file.d;
+
+ mkdir "$target/{ $file.relative.substr($offset) }";
+ copy-dirs($file, $target);
+ }
+}
+
+$offset = $source.chars + 1;
+copy-dirs($source, $target);