diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-04-29 23:26:18 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-04-29 23:26:18 +0200 |
| commit | 888181321995f300523fa36ccfab7afed5c4e49e (patch) | |
| tree | e390fb142a6ff16ddb7d7e155c74cdc8da54cff2 | |
| parent | 103e4b8608791aba63b73d81dc07c06faf84283a (diff) | |
| download | perlweeklychallenge-club-888181321995f300523fa36ccfab7afed5c4e49e.tar.gz perlweeklychallenge-club-888181321995f300523fa36ccfab7afed5c4e49e.tar.bz2 perlweeklychallenge-club-888181321995f300523fa36ccfab7afed5c4e49e.zip | |
solutions week 110
| -rw-r--r-- | challenge-110/wambash/raku/ch-1.raku | 24 | ||||
| -rw-r--r-- | challenge-110/wambash/raku/ch-2.raku | 32 |
2 files changed, 56 insertions, 0 deletions
diff --git a/challenge-110/wambash/raku/ch-1.raku b/challenge-110/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..61c4ed8a8e --- /dev/null +++ b/challenge-110/wambash/raku/ch-1.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +my token valid-phone-number { + [ + |\+\d\d + |\d**4 + |\( ~ \) \d ** 2 + ] + \s+ + \d**10 +} + +multi MAIN () { + slurp() + andthen .comb: &valid-phone-number + andthen .map: *.say +} + +multi MAIN (Bool :test($)!) { + use Test; + like $_, &valid-phone-number, "$_ is valid number" for '0044 1148820341', '+44 1148820341', '(44) 1148820341'; + unlike $_, &valid-phone-number, "$_ is not valid number" for '00 1148820341', '44-11-4882-0341'; + done-testing; +} diff --git a/challenge-110/wambash/raku/ch-2.raku b/challenge-110/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..b508297362 --- /dev/null +++ b/challenge-110/wambash/raku/ch-2.raku @@ -0,0 +1,32 @@ +#!/usr/bin/env raku + +sub transpose-csv-lines (@lines) { + @lines + andthen .map: *.split: /\,/ + andthen zip $_, with => sub (+@a) is assoc<list> { @a.join: ',' }\ +} + +multi MAIN () { + .put for transpose-csv-lines lines() +} + +multi MAIN (:test($)!) { + use Test; + my @in-row =< + name,age,sex + Mohammad,45,m + Joe,20,m + Julie,35,f + Cristina,10,f + >; + + my @in-column =< + name,Mohammad,Joe,Julie,Cristina + age,45,20,35,10 + sex,m,m,f,f + >; + + is transpose-csv-lines(@in-row), @in-column; + is transpose-csv-lines(@in-column), @in-row; + done-testing; +} |
