in reply to Re: Circular buffer
in thread Circular buffer
I don't like leaving the $pointer variable grow indefinitely.
This code is equivalent, but keeps $pointer in [0,@buffer). In fact, just gets the remainder after each $pointer change
This code is equivalent, but keeps $pointer in [0,@buffer). In fact, just gets the remainder after each $pointer change
my @buffer = (0) x 5; my $pointer = 0; for (0..30) { print "old value: ", $buffer[$pointer], "\n"; print "new value: $_\n"; $buffer[$pointer] = $_; $pointer = (++$pointer) % @buffer; }
In Section
Seekers of Perl Wisdom