[英]Returning sum of array elements 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
怎么樣:
use List::Util qw/sum/;
my @arr = (200, 500, 800, 100);
say sum(@arr[0..$_]) for (0..$#arr);
輸出:
200
700
1500
1600
關於List::Util 的文檔。
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
得到總和
@MyArray = (1..10);
foreach my $i (0 .. $#MyArray)
{
$sum += $_ for @MyArray;
}
print "sum: $sum"
輸出:
總和:550
關於您的代碼:也許您需要將數組定義置於循環之外
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.