How can you find the sum of an array using just shift and pop?
There are two key points to grasp:
shift not only gives the vaue of the first element of the array, it also removes it, reducing the size of the array by one. Likewise, pop not only gives the value of the last element of the array, it also removes, it, reducing the size of the array by one.
A while loop continues until its condition becomes false. while ( @nums ) { ... } contines to loop until @nums is false. When does this happen? Well, in this case @nums is in scalar context, so its value is the size of the array. As long as the array contains elements, this size is greater than zero, and Perl interprets any non-zero numerical value as “true”. But when the last element is removed, the size of the array falls to zero, a value which Perl interprets as “false”, so the loop ends.
Put these two points together, and the question is easily solved.
Hope that helps,
Athanasius <°(((>< contra mundum
In reply to Re: using pop and shift to find the sum of an array
by Athanasius
in thread using pop and shift to find the sum of an array
by perlguru22
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |