diff options
| author | 冯昶 <fengchang@novel-supertv.com> | 2023-01-17 10:04:44 +0800 |
|---|---|---|
| committer | 冯昶 <fengchang@novel-supertv.com> | 2023-01-17 10:04:44 +0800 |
| commit | de8820341c75c44bfa1b66dcaccbd9116681067e (patch) | |
| tree | 6170004c54c84a7f96f1ef56ccb106fbf540d946 | |
| parent | 952f98a3d4e479992cd18e544ebb441a952f7159 (diff) | |
| download | perlweeklychallenge-club-de8820341c75c44bfa1b66dcaccbd9116681067e.tar.gz perlweeklychallenge-club-de8820341c75c44bfa1b66dcaccbd9116681067e.tar.bz2 perlweeklychallenge-club-de8820341c75c44bfa1b66dcaccbd9116681067e.zip | |
challenge 200, raku solutions
| -rwxr-xr-x | challenge-200/feng-chang/raku/ch-1.raku | 8 | ||||
| -rwxr-xr-x | challenge-200/feng-chang/raku/ch-2.raku | 32 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-200/feng-chang/raku/ch-1.raku b/challenge-200/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..e3decf7bec --- /dev/null +++ b/challenge-200/feng-chang/raku/ch-1.raku @@ -0,0 +1,8 @@ +#!/bin/env raku + +unit sub MAIN(*@N); + +.put for (^+@N X ^+@N) + .grep({ .[1] - .[0] > 1 }) + .grep({ [==] (.[0] ..^ .[1]).map({ @N[$_+1] - @N[$_] }) }) + .map({ "({ @N[.[0] .. .[1]].join(', ') })" }); diff --git a/challenge-200/feng-chang/raku/ch-2.raku b/challenge-200/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..e50151bf9a --- /dev/null +++ b/challenge-200/feng-chang/raku/ch-2.raku @@ -0,0 +1,32 @@ +#!/bin/env raku + +use v6.d; +unit sub MAIN(UInt:D $n); + +my @N = $n.comb; +my @truth is Array = <abcdef bc abdeg abcdg bcfg acdfg acdefg abc abcdefg abcfg>; +my @display = [' ' xx (9 * @N.elems - 2)] xx 7; +my $offset = 0; + +for @N -> $d { + for @truth[$d].comb -> $seg { + given $seg { + when 'a' { @display[0;$offset..$offset+6] X= '-'; } + when 'b' { @display[1..2;$offset+6] X= '|'; } + when 'c' { @display[4..5;$offset+6] X= '|'; } + when 'd' { @display[6;$offset..$offset+6] X= '-'; } + when 'e' { @display[4..5;$offset] X= '|'; } + when 'f' { @display[1..2;$offset] X= '|'; } + when 'g' { @display[3;$offset..$offset+6] X= '-'; } + default { die "wrong segment «$seg»"; } + } + + #| must do something here + #my $question = 'but why?!'; + LAST { } + } + + $offset += 9; +} + +.join.put for @display; |
