aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrbaggy <js5@sanger.ac.uk>2021-06-29 07:12:46 +0100
committerdrbaggy <js5@sanger.ac.uk>2021-06-29 07:12:46 +0100
commit3acc736941b159d43da7ff15ac8130674b4f3701 (patch)
tree5d3078dcf0e916d0c6402f8a904ee3e7a0d6ccb9
parent107a17eac9fd53ceb1c3bb6905577a32570d240d (diff)
parent3c9d3a537f55924259a24f97e0acb04a3305c0f1 (diff)
downloadperlweeklychallenge-club-3acc736941b159d43da7ff15ac8130674b4f3701.tar.gz
perlweeklychallenge-club-3acc736941b159d43da7ff15ac8130674b4f3701.tar.bz2
perlweeklychallenge-club-3acc736941b159d43da7ff15ac8130674b4f3701.zip
Merge branch 'master' of github.com:drbaggy/perlweeklychallenge-club
-rw-r--r--challenge-119/james-smith/README.md21
1 files changed, 8 insertions, 13 deletions
diff --git a/challenge-119/james-smith/README.md b/challenge-119/james-smith/README.md
index 612aeabcc8..3ee6e599cc 100644
--- a/challenge-119/james-smith/README.md
+++ b/challenge-119/james-smith/README.md
@@ -130,32 +130,27 @@ use overload '++' => 'incr';
use overload '""' => 'str';
sub new {
- my $x = [0];
- bless $x, 'Three';
- return $x;
+ return bless [], 'Three';
}
sub has_double_one {
- my($f,@v) = @{$_[0]};
- while(@v) {
- return 1 if $f == 1 && $v[0] == 1;
- $f = shift @v;
- }
+ my( $f, @v ) = @{$_[0]};
+ ( $f == 1 && $v[0] == 1 ) ? ( return 1 ) : ( $f = shift @v ) while @v;
return 0;
}
sub incr {
- my $v = shift;
- my $ptr;
- for( $ptr = @{$v}-1; $ptr>-1 && ++$v->[$ptr]>3; $ptr--) {
- $v->[$ptr] = 1;
+ my($v,$ptr) = (shift,-1);
+ for( $ptr = $#$v; $ptr>-1 && ++$v->[$ptr]>3; $ptr--) {
+ $v->[$ptr]=1;
}
unshift @{$v}, 1 if $ptr < 0;
}
sub str {
- return join '', @{$_[0]};
+ return join '',@{$_[0]};
}
+
1;
```