返回数组元素perl的总和

时间:2014-01-23 04:05:56

标签: perl

我有一个MyArray,其内容是perl中的“200 500 800 100”。我需要首先返回200的函数,第二次迭代它应该返回200 + 500,下次它应该返回200 + 500 + 800,直到它总结所有元素。

   foreach my $i (0 .. $#MyArray)
   {
       @MyArray = (1..$i);     
       $sum += $_ for @MyArray;
   }

我正在尝试做一些如上所述的事情,但它没有返回任何$ sum

3 个答案:

答案 0 :(得分:1)

怎么样:

use List::Util qw/sum/;
my @arr = (200, 500, 800, 100);
say sum(@arr[0..$_]) for (0..$#arr);

<强>输出:

200
700
1500
1600

有关List::Util

的文档

答案 1 :(得分:0)

my $array = [200, 500, 800, 100];
my @sum_array;
my $iter_sum = 0;
for my $each (@$array) {
    $iter_sum += $each;
    push @sum_array, $iter_sum;
}
return \@sum_array;

您可以在@sum_array

中获得总和

答案 2 :(得分:0)

{% for department in CHOICES %}
  <option value="{{department[0]}}">{{ department[1] }}</option>
(% endfor %}

输出:

总和:550

关于代码:也许您需要使数组定义脱离循环