aboutsummaryrefslogtreecommitdiff
path: root/challenge-072
diff options
context:
space:
mode:
author冯昶 <seaker@qq.com>2020-08-21 16:12:58 +0800
committer冯昶 <seaker@qq.com>2020-08-21 16:12:58 +0800
commite4bb19d767bff01ce22546029603afe3b690cf09 (patch)
tree96f99f834d01dae9a265534ed0f8ec313a925f88 /challenge-072
parentf35df0a84832788ae2e786e83c0de3504b2f9b0f (diff)
parentb1cad7fa2c0c1a87309a90f8b6be2b7a38aace5d (diff)
downloadperlweeklychallenge-club-e4bb19d767bff01ce22546029603afe3b690cf09.tar.gz
perlweeklychallenge-club-e4bb19d767bff01ce22546029603afe3b690cf09.tar.bz2
perlweeklychallenge-club-e4bb19d767bff01ce22546029603afe3b690cf09.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-072')
-rw-r--r--challenge-072/ash/blog1.txt1
-rwxr-xr-xchallenge-072/mohammad-anwar/perl/ch-1.pl2
-rwxr-xr-xchallenge-072/mohammad-anwar/perl/ch-1a.pl2
-rwxr-xr-xchallenge-072/mohammad-anwar/perl/ch-2.pl10
-rwxr-xr-xchallenge-072/mohammad-anwar/raku/ch-1.raku2
-rwxr-xr-xchallenge-072/mohammad-anwar/raku/ch-1a.raku2
-rwxr-xr-xchallenge-072/mohammad-anwar/raku/ch-2.raku4
-rwxr-xr-xchallenge-072/mohammad-anwar/raku/ch-2a.raku4
8 files changed, 14 insertions, 13 deletions
diff --git a/challenge-072/ash/blog1.txt b/challenge-072/ash/blog1.txt
new file mode 100644
index 0000000000..2bee318da2
--- /dev/null
+++ b/challenge-072/ash/blog1.txt
@@ -0,0 +1 @@
+https://perlweeklychallenge.org/blog/p6-review-challenge-072/
diff --git a/challenge-072/mohammad-anwar/perl/ch-1.pl b/challenge-072/mohammad-anwar/perl/ch-1.pl
index bba4e1bcd7..872bf70081 100755
--- a/challenge-072/mohammad-anwar/perl/ch-1.pl
+++ b/challenge-072/mohammad-anwar/perl/ch-1.pl
@@ -30,7 +30,7 @@ sub trailing_zeroes {
$n *= $_ for 1..$n-1;
# count trailing zeroes
- $n =~ m/[1-9]?([0]+)/;
+ $n =~ m/[1-9]?([0]+)$/;
return (defined $1)?(length($1)):(0);
}
diff --git a/challenge-072/mohammad-anwar/perl/ch-1a.pl b/challenge-072/mohammad-anwar/perl/ch-1a.pl
index 2aa98b1ab5..2b02ba5b9a 100755
--- a/challenge-072/mohammad-anwar/perl/ch-1a.pl
+++ b/challenge-072/mohammad-anwar/perl/ch-1a.pl
@@ -24,7 +24,7 @@ sub count {
$n *= $_ for 1..$n-1;
# count trailing zeroes
- $n =~ m/[1-9]?([0]+)/;
+ $n =~ m/[1-9]?([0]+)$/;
return (defined $1)?(length($1)):(0);
}
diff --git a/challenge-072/mohammad-anwar/perl/ch-2.pl b/challenge-072/mohammad-anwar/perl/ch-2.pl
index f70396b76f..fe1c1d817d 100755
--- a/challenge-072/mohammad-anwar/perl/ch-2.pl
+++ b/challenge-072/mohammad-anwar/perl/ch-2.pl
@@ -15,7 +15,7 @@ my $F = $ARGV[0];
my $A = $ARGV[1];
my $B = $ARGV[2];
-print lines_range($F, $A, $B), "\n";
+lines_range($F, $A, $B);
#
#
@@ -25,13 +25,13 @@ sub lines_range {
my ($file, $a, $b) = @_;
die "ERROR: Invalid file [$file].\n" unless (-e $file && -f _ && -r _ && -T _);
- die "ERROR: Missing A.\n" unless defined $A;
- die "ERROR: Missing B.\n" unless defined $B;
- die "ERROR: Invalid range [$A \- $B].\n" unless ($A <= $B);
+ die "ERROR: Missing A.\n" unless defined $a;
+ die "ERROR: Missing B.\n" unless defined $b;
+ die "ERROR: Invalid range [$a \- $b].\n" unless ($a <= $b);
open(my $F, "<", $file) || die "ERROR: Failed to open [$!]\n";
my @lines = <$F>;
close($F);
- print $lines[$_] for $A-1..$B-1;
+ print $lines[$_] for --$a..--$b;
}
diff --git a/challenge-072/mohammad-anwar/raku/ch-1.raku b/challenge-072/mohammad-anwar/raku/ch-1.raku
index abdff9e6bf..f4aa526ba2 100755
--- a/challenge-072/mohammad-anwar/raku/ch-1.raku
+++ b/challenge-072/mohammad-anwar/raku/ch-1.raku
@@ -22,7 +22,7 @@ sub find-trailing-zeroes(Int $N is copy where $N <= 10) {
$N *= $_ for 1..$N-1;
# match trailing zeroes
- my $trailing-zeroes = $N ~~ m/ <[1..9]>?(<[0]>+) /;
+ my $trailing-zeroes = $N ~~ m/ <[1..9]>?(<[0]>+)$ /;
return
($trailing-zeroes)
diff --git a/challenge-072/mohammad-anwar/raku/ch-1a.raku b/challenge-072/mohammad-anwar/raku/ch-1a.raku
index dbcf9532a1..24e46efb14 100755
--- a/challenge-072/mohammad-anwar/raku/ch-1a.raku
+++ b/challenge-072/mohammad-anwar/raku/ch-1a.raku
@@ -37,7 +37,7 @@ sub find-trailing-zeroes(Int $N is copy where $N <= 10) {
$N *= $_ for 1..$N-1;
# match trailing zeroes
- my $trailing-zeroes = $N ~~ m/ <[1..9]>?(<[0]>+) /;
+ my $trailing-zeroes = $N ~~ m/ <[1..9]>?(<[0]>+)$ /;
return
($trailing-zeroes)
diff --git a/challenge-072/mohammad-anwar/raku/ch-2.raku b/challenge-072/mohammad-anwar/raku/ch-2.raku
index 2e42757eaa..2618eb921e 100755
--- a/challenge-072/mohammad-anwar/raku/ch-2.raku
+++ b/challenge-072/mohammad-anwar/raku/ch-2.raku
@@ -17,10 +17,10 @@ sub MAIN(Str :$file where *.IO.f,
lines-range($file, $A, $B).join("\n").say;
}
-sub lines-range(Str $file, Int $A, Int $B) {
+sub lines-range(Str $file, Int $A is copy, Int $B is copy) {
my @lines = Empty;
- for $A-1 .. $B-1 -> $i {
+ for --$A .. --$B -> $i {
@lines.push: $file.IO.lines[$i];
}
diff --git a/challenge-072/mohammad-anwar/raku/ch-2a.raku b/challenge-072/mohammad-anwar/raku/ch-2a.raku
index fa477ce6ce..add1a325e4 100755
--- a/challenge-072/mohammad-anwar/raku/ch-2a.raku
+++ b/challenge-072/mohammad-anwar/raku/ch-2a.raku
@@ -27,10 +27,10 @@ for @test-cases -> $test {
done-testing;
-sub lines-range(Str $file, Int $A, Int $B) {
+sub lines-range(Str $file, Int $A is copy, Int $B is copy) {
my @lines = Empty;
- for $A-1 .. $B-1 -> $i {
+ for --$A .. --$B -> $i {
@lines.push: $file.IO.lines[$i];
}