aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Westerberg <drclaw@mac.com>2019-04-12 08:16:23 +1000
committerRuben Westerberg <drclaw@mac.com>2019-04-12 08:16:23 +1000
commitd84d541612f67c37a600291c45be31646dbb1e7d (patch)
tree8932112cb0808d36f6365486dcf9ee8d37a5d1c1
parent0d6fe8d5d8b49eb8d79ae99023b313334014d0cb (diff)
downloadperlweeklychallenge-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-xchallenge-002/ruben-westerberg/perl5/ch-1.pl (renamed from challenge-002/ruben-westerberg/ch-1.pl)0
-rwxr-xr-xchallenge-002/ruben-westerberg/perl5/ch-2.pl (renamed from challenge-002/ruben-westerberg/ch-2.pl)0
-rwxr-xr-xchallenge-002/ruben-westerberg/perl6/ch-1.p6 (renamed from challenge-002/ruben-westerberg/ch-1.p6)0
-rwxr-xr-xchallenge-002/ruben-westerberg/perl6/ch-2.p6 (renamed from challenge-002/ruben-westerberg/ch-2.p6)0
-rw-r--r--challenge-003/ruben-westerberg/README4
-rwxr-xr-xchallenge-003/ruben-westerberg/perl5/ch-2.pl30
-rwxr-xr-xchallenge-003/ruben-westerberg/perl6/ch-2.p623
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=$_;
+ }
+ }
+}