diff options
| author | RNuttall <richard@nuttall.me.uk> | 2019-11-09 10:56:18 +0000 |
|---|---|---|
| committer | RNuttall <richard@nuttall.me.uk> | 2019-11-09 10:56:18 +0000 |
| commit | 812facf224f1aa9efe1c0b3b440771490bbda009 (patch) | |
| tree | e41ba844947a7bc5e3e627cc040abd5abc07e95d /challenge-033/rnuttall | |
| parent | 29ea4af5a7b2d945d5ff0a9b61398e2e464967c8 (diff) | |
| download | perlweeklychallenge-club-812facf224f1aa9efe1c0b3b440771490bbda009.tar.gz perlweeklychallenge-club-812facf224f1aa9efe1c0b3b440771490bbda009.tar.bz2 perlweeklychallenge-club-812facf224f1aa9efe1c0b3b440771490bbda009.zip | |
Task 1
Task1
Diffstat (limited to 'challenge-033/rnuttall')
| -rw-r--r-- | challenge-033/rnuttall/README | 1 | ||||
| -rw-r--r-- | challenge-033/rnuttall/perl6/ch-01.p6 | 17 | ||||
| -rw-r--r-- | challenge-033/rnuttall/perl6/ch-02.p6 | 16 |
3 files changed, 34 insertions, 0 deletions
diff --git a/challenge-033/rnuttall/README b/challenge-033/rnuttall/README new file mode 100644 index 0000000000..c6358313dc --- /dev/null +++ b/challenge-033/rnuttall/README @@ -0,0 +1 @@ +Solution by Richard Nuttall
\ No newline at end of file diff --git a/challenge-033/rnuttall/perl6/ch-01.p6 b/challenge-033/rnuttall/perl6/ch-01.p6 new file mode 100644 index 0000000000..4d94b608d9 --- /dev/null +++ b/challenge-033/rnuttall/perl6/ch-01.p6 @@ -0,0 +1,17 @@ +#!/usr/bin/env perl6 +# Task #1 +# Count Letters (A..Z) + +sub MAIN(*@files) { + #Task 1 - a Test of Bag and Bag addition + my Bag $counts = bag { 'a' .. 'z' => 0 }; + + say @files; + # Create a bag for each file and add counts using Bag addition ⊎ or (+) + for @files -> $file { + $counts ⊎= $file.IO.slurp.lc.comb.Bag; + } + for 'a' .. 'z' -> $letter { + say "$letter: $counts{$letter}"; + } +} diff --git a/challenge-033/rnuttall/perl6/ch-02.p6 b/challenge-033/rnuttall/perl6/ch-02.p6 new file mode 100644 index 0000000000..d76cf95b33 --- /dev/null +++ b/challenge-033/rnuttall/perl6/ch-02.p6 @@ -0,0 +1,16 @@ +#!/usr/bin/env perl6 +# Task #2 +# Formatted Multiplication Table +# Write a script to print 11x11 multiplication table, only the top half triangle. + +sub MAIN($lim = 11) { + # We can use a single format for all lines + my $fmt = "%3s%1s" ~ "%4s" x $lim ~ "\n"; + printf $fmt, 'x', '|', 1..$lim; + printf $fmt, '---','+', '----' xx $lim; + for 1..$lim -> $x { + # use xx Sequence repetition to give spaces for lower half of table, + # use Hyperop «*» to multiply out the visible values + printf $fmt, $x, '|', ' ' xx $x-1, ($x..$lim) «*» $x; + } +} |
