diff options
| author | Ruben Westerberg <drclaw@mac.com> | 2019-04-12 08:16:23 +1000 |
|---|---|---|
| committer | Ruben Westerberg <drclaw@mac.com> | 2019-04-12 08:16:23 +1000 |
| commit | d84d541612f67c37a600291c45be31646dbb1e7d (patch) | |
| tree | 8932112cb0808d36f6365486dcf9ee8d37a5d1c1 | |
| parent | 0d6fe8d5d8b49eb8d79ae99023b313334014d0cb (diff) | |
| download | perlweeklychallenge-club-d84d541612f67c37a600291c45be31646dbb1e7d.tar.gz perlweeklychallenge-club-d84d541612f67c37a600291c45be31646dbb1e7d.tar.bz2 perlweeklychallenge-club-d84d541612f67c37a600291c45be31646dbb1e7d.zip | |
Added solution for w3 ch2
Also renamed w2 files and placed in perl5 perl6 directories
| -rwxr-xr-x | challenge-002/ruben-westerberg/perl5/ch-1.pl (renamed from challenge-002/ruben-westerberg/ch-1.pl) | 0 | ||||
| -rwxr-xr-x | challenge-002/ruben-westerberg/perl5/ch-2.pl (renamed from challenge-002/ruben-westerberg/ch-2.pl) | 0 | ||||
| -rwxr-xr-x | challenge-002/ruben-westerberg/perl6/ch-1.p6 (renamed from challenge-002/ruben-westerberg/ch-1.p6) | 0 | ||||
| -rwxr-xr-x | challenge-002/ruben-westerberg/perl6/ch-2.p6 (renamed from challenge-002/ruben-westerberg/ch-2.p6) | 0 | ||||
| -rw-r--r-- | challenge-003/ruben-westerberg/README | 4 | ||||
| -rwxr-xr-x | challenge-003/ruben-westerberg/perl5/ch-2.pl | 30 | ||||
| -rwxr-xr-x | challenge-003/ruben-westerberg/perl6/ch-2.p6 | 23 |
7 files changed, 56 insertions, 1 deletions
diff --git a/challenge-002/ruben-westerberg/ch-1.pl b/challenge-002/ruben-westerberg/perl5/ch-1.pl index ac4cf70614..ac4cf70614 100755 --- a/challenge-002/ruben-westerberg/ch-1.pl +++ b/challenge-002/ruben-westerberg/perl5/ch-1.pl diff --git a/challenge-002/ruben-westerberg/ch-2.pl b/challenge-002/ruben-westerberg/perl5/ch-2.pl index 66e78301c8..66e78301c8 100755 --- a/challenge-002/ruben-westerberg/ch-2.pl +++ b/challenge-002/ruben-westerberg/perl5/ch-2.pl diff --git a/challenge-002/ruben-westerberg/ch-1.p6 b/challenge-002/ruben-westerberg/perl6/ch-1.p6 index 4ce164234e..4ce164234e 100755 --- a/challenge-002/ruben-westerberg/ch-1.p6 +++ b/challenge-002/ruben-westerberg/perl6/ch-1.p6 diff --git a/challenge-002/ruben-westerberg/ch-2.p6 b/challenge-002/ruben-westerberg/perl6/ch-2.p6 index c011ae237c..c011ae237c 100755 --- a/challenge-002/ruben-westerberg/ch-2.p6 +++ b/challenge-002/ruben-westerberg/perl6/ch-2.p6 diff --git a/challenge-003/ruben-westerberg/README b/challenge-003/ruben-westerberg/README index 58eaaedd18..51f17bea4c 100644 --- a/challenge-003/ruben-westerberg/README +++ b/challenge-003/ruben-westerberg/README @@ -1,3 +1,5 @@ Solution by Ruben Westerberg -inputs via command line arguments +Inputs via command line arguments + +Challenge 2 (pascal) dies if user supplies less then 3 as input diff --git a/challenge-003/ruben-westerberg/perl5/ch-2.pl b/challenge-003/ruben-westerberg/perl5/ch-2.pl new file mode 100755 index 0000000000..8ba5a76e5a --- /dev/null +++ b/challenge-003/ruben-westerberg/perl5/ch-2.pl @@ -0,0 +1,30 @@ +#!/usr/bin/env perl +use warnings; + +my $lines=$ARGV[0]; +die "Rows must be 3 or greater." unless ($lines >= 3); +my $current=[1]; +foreach (1 .. $lines) { + printRow($current); #print the current row + $current= makeRow($current) #make the next row; +} + +sub printRow { + $in=shift; + foreach (@$in) { + #TODO: Add centralised format + printf "%d ", $_;; + } + print "\n"; +} +sub makeRow { + my $in=shift; + my @row=(@$in,0); + my @outRow; + my $previous=0; + foreach (@row) { + push @outRow, $_+ $previous; + $previous=$_; + } + return \@outRow; +} diff --git a/challenge-003/ruben-westerberg/perl6/ch-2.p6 b/challenge-003/ruben-westerberg/perl6/ch-2.p6 new file mode 100755 index 0000000000..f970db6dc8 --- /dev/null +++ b/challenge-003/ruben-westerberg/perl6/ch-2.p6 @@ -0,0 +1,23 @@ +#!/usr/bin/env perl6 + +my $lines=@*ARGS[0]; +die "Rows must be 3 or greater." unless $lines >=3; + + +for 1..$lines { + state @current=(1); + say @current.join(" "); #TODO: make a better formating sub + @current=makeRow(@current); + +} +sub makeRow(@current) { + my @next=@current.push: 0; + my @outRow; + gather { + for @next { + state $previous=0; + take $_+$previous; + $previous=$_; + } + } +} |
