簡體   English   中英

返回數組元素的總和 perl

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM