diff options
| -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=$_; + } + } +} |
