From 0142974e5f11adadbaa7ca8d71de9db345318519 Mon Sep 17 00:00:00 2001 From: 冯昶 Date: Mon, 26 Apr 2021 15:18:38 +0800 Subject: challenge 110, raku solutions --- challenge-110/feng-chang/raku/ch-1.raku | 16 ++++++++++++++++ challenge-110/feng-chang/raku/ch-2.raku | 8 ++++++++ challenge-110/feng-chang/raku/ch-2.txt | 5 +++++ 3 files changed, 29 insertions(+) create mode 100755 challenge-110/feng-chang/raku/ch-1.raku create mode 100755 challenge-110/feng-chang/raku/ch-2.raku create mode 100644 challenge-110/feng-chang/raku/ch-2.txt diff --git a/challenge-110/feng-chang/raku/ch-1.raku b/challenge-110/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..7e6f7bd5cc --- /dev/null +++ b/challenge-110/feng-chang/raku/ch-1.raku @@ -0,0 +1,16 @@ +#!/bin/env raku + +grammar Phone-Number { + regex TOP { \s+ } + token prefix { '+'\d\d || '('\d\d')' || \d\d\d\d } + token local { \d ** 10 } +} + +my @numbers = + '0044 1148820341', + '+44 1148820341', + '44-11-4882-0341', + '(44) 1148820341', + '00 1148820341'; + +.put if Phone-Number.parse($_) for @numbers; diff --git a/challenge-110/feng-chang/raku/ch-2.raku b/challenge-110/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..78a5c3dfb3 --- /dev/null +++ b/challenge-110/feng-chang/raku/ch-2.raku @@ -0,0 +1,8 @@ +#!/bin/env raku + +sub MAIN(Str:D $f where *.IO.e = 'ch-2.txt') { + my @a = $f.IO.lines».split(','); + for ^@a[0].elems -> $i { + put @a.map(*[$i]).join(','); + } +} diff --git a/challenge-110/feng-chang/raku/ch-2.txt b/challenge-110/feng-chang/raku/ch-2.txt new file mode 100644 index 0000000000..716ebdce75 --- /dev/null +++ b/challenge-110/feng-chang/raku/ch-2.txt @@ -0,0 +1,5 @@ +name,age,sex +Mohammad,45,m +Joe,20,m +Julie,35,f +Cristina,10,f -- cgit