我有一个MyArray,其内容是perl中的“200 500 800 100”。我需要首先返回200的函数,第二次迭代它应该返回200 + 500,下次它应该返回200 + 500 + 800,直到它总结所有元素。
foreach my $i (0 .. $#MyArray)
{
@MyArray = (1..$i);
$sum += $_ for @MyArray;
}
我正在尝试做一些如上所述的事情,但它没有返回任何$ sum
答案 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
关于代码:也许您需要使数组定义脱离循环