diff options
| author | Simon Proctor <simon.proctor@gmail.com> | 2021-03-08 10:07:20 +0000 |
|---|---|---|
| committer | Simon Proctor <simon.proctor@gmail.com> | 2021-03-08 10:07:20 +0000 |
| commit | da748048f9679814be0fc1bda4e35210e44d8f3b (patch) | |
| tree | d1eb36ada08d3b5f9efc3b2bd71f5d9152fbb9af /challenge-103 | |
| parent | 4ca90aa3b8a785fe2e2d0b64524c42c4015f11bf (diff) | |
| download | perlweeklychallenge-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.raku | 25 |
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(" ") ); +} |
