aboutsummaryrefslogtreecommitdiff
path: root/challenge-103
diff options
context:
space:
mode:
authorSimon Proctor <simon.proctor@gmail.com>2021-03-08 10:07:20 +0000
committerSimon Proctor <simon.proctor@gmail.com>2021-03-08 10:07:20 +0000
commitda748048f9679814be0fc1bda4e35210e44d8f3b (patch)
treed1eb36ada08d3b5f9efc3b2bd71f5d9152fbb9af /challenge-103
parent4ca90aa3b8a785fe2e2d0b64524c42c4015f11bf (diff)
downloadperlweeklychallenge-club-da748048f9679814be0fc1bda4e35210e44d8f3b.tar.gz
perlweeklychallenge-club-da748048f9679814be0fc1bda4e35210e44d8f3b.tar.bz2
perlweeklychallenge-club-da748048f9679814be0fc1bda4e35210e44d8f3b.zip
Challenge 1 done
Diffstat (limited to 'challenge-103')
-rw-r--r--challenge-103/simon-proctor/raku/ch-1.raku25
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-103/simon-proctor/raku/ch-1.raku b/challenge-103/simon-proctor/raku/ch-1.raku
new file mode 100644
index 0000000000..3fdb1f105f
--- /dev/null
+++ b/challenge-103/simon-proctor/raku/ch-1.raku
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+
+use v6;
+
+#| Given a year output the Chinese year
+sub MAIN(
+ Int \year #= Western year
+) {
+ cycle()[(1924-year).abs % 60].say;
+}
+
+sub cycle() {
+ my @elements = lazy gather {
+ my $i = 0;
+ my @els = <Wood Wood Fire Fire Earth Earth Metal Metal Water Water>;
+ loop {
+ take @els[$i];
+ $i++;
+ $i = 0 if $i > @els.end;
+ }
+ };
+
+ return ( @elements Z,
+ ( |<Rat Ox Tiger Rabbit Dragon Snake Horse Goat Monkey Rooster Dog Pig> xx 5 ) ).map( *.join(" ") );
+}