diff options
| author | Julio <julio.dcs@gmail.com> | 2020-09-20 22:31:23 +0200 |
|---|---|---|
| committer | Julio <julio.dcs@gmail.com> | 2020-09-20 22:31:23 +0200 |
| commit | 6fabd7602c1a36a5d7bc5808e9a230741a9b7f21 (patch) | |
| tree | 3a3e0ba686b8b10b34443d0609f989e27f73eac6 /challenge-078/juliodcs/raku | |
| parent | 211fa8fa3233e581f40f5ba09f44b4a052497873 (diff) | |
| download | perlweeklychallenge-club-6fabd7602c1a36a5d7bc5808e9a230741a9b7f21.tar.gz perlweeklychallenge-club-6fabd7602c1a36a5d7bc5808e9a230741a9b7f21.tar.bz2 perlweeklychallenge-club-6fabd7602c1a36a5d7bc5808e9a230741a9b7f21.zip | |
Solution to week 78 by juliodcs
Diffstat (limited to 'challenge-078/juliodcs/raku')
| -rw-r--r-- | challenge-078/juliodcs/raku/ch-1.raku | 14 | ||||
| -rw-r--r-- | challenge-078/juliodcs/raku/ch-2.raku | 9 |
2 files changed, 23 insertions, 0 deletions
diff --git a/challenge-078/juliodcs/raku/ch-1.raku b/challenge-078/juliodcs/raku/ch-1.raku new file mode 100644 index 0000000000..3687d224a0 --- /dev/null +++ b/challenge-078/juliodcs/raku/ch-1.raku @@ -0,0 +1,14 @@ +sub get-leaders {
+ my \A = ( 9, 10, 7, 5, 6, 1 );
+ sub is-last { $^i == A.elems - 1 }
+ sub current { A[$^i] }
+ sub following { A[$^i + 1] }
+ sub is-leading { current($^i) > following($^i) }
+ sub is-leader { is-last($^i) || is-leading($^i) }
+ sub if-leader { is-leader($^i) ?? current($^i) !! () }
+ sub add-leader { ($^list.flat, if-leader($^pos)).flat }
+
+ A.elems == 0 ?? (0) !! [[&add-leader]] ((), |^A)
+}
+
+say get-leaders;
diff --git a/challenge-078/juliodcs/raku/ch-2.raku b/challenge-078/juliodcs/raku/ch-2.raku new file mode 100644 index 0000000000..723246e305 --- /dev/null +++ b/challenge-078/juliodcs/raku/ch-2.raku @@ -0,0 +1,9 @@ +sub rotate {
+ my \A = (7, 4, 2, 6, 3);
+ my \B = (1, 3, 4);
+ for B -> \rotation {
+ say (|^A).map: { A[ ($^index + rotation) % A.elems ] }
+ }
+}
+
+rotate;
\ No newline at end of file |
