From 3c9d3a537f55924259a24f97e0acb04a3305c0f1 Mon Sep 17 00:00:00 2001 From: James Smith Date: Tue, 29 Jun 2021 07:12:39 +0100 Subject: Update README.md --- challenge-119/james-smith/README.md | 21 ++++++++------------- 1 file 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; ``` -- cgit