遍历 perl 数组
Looping through a perl array
我正在尝试:
用数字 1 到 10 填充数组的 10 个元素。
通过遍历数组中包含的值来添加数组中包含的所有数字。
例如,
它将从 1 开始,然后第二个数字将是 3(1 加 2),然后下一个将是 6(现有的 3 加上新的 3)
这是我当前的代码
#!/usr/bin/perl
use warnings;
use strict;
my @b = (1..10);
for(@b){
$_ = $_ *$_ ;
}
print ("The total is: @b\n")
这是结果
The total is: 1 4 9 16 25 36 49 64 81 100
我要找的是:
The total is: 1 3 6 10 etc..
显示的序列对于每个元素都有:它的索引 + 1 + 前一个索引的值
perl -wE'@b = 1..10; @r = 1; $r[$_] = $_+1 + $r[$_-1] for 1..$#b; say "@r"'
语法 $#name
用于数组中的最后一个索引 @name
。
如果原地改变数组,如图,那么就不需要初始化
perl -wE'@b = 1..10; $b[$_] = $_+1 + $b[$_-1] for 1..$#b; say "@b"'
同时打印
1 3 6 10 15 21 28 36 45 55
作为脚本
use warnings;
use strict;
use feature 'say';
my @seq = 1..10;
for my $i (1..$#seq) {
$seq[$i] = $i+1 + $seq[$i-1];
}
say "@seq";
$ perl -E'say "The total is: ",join" ",map$sum+=$_,1..10'
The total is: 1 3 6 10 15 21 28 36 45 55
我正在尝试: 用数字 1 到 10 填充数组的 10 个元素。 通过遍历数组中包含的值来添加数组中包含的所有数字。
例如, 它将从 1 开始,然后第二个数字将是 3(1 加 2),然后下一个将是 6(现有的 3 加上新的 3) 这是我当前的代码
#!/usr/bin/perl
use warnings;
use strict;
my @b = (1..10);
for(@b){
$_ = $_ *$_ ;
}
print ("The total is: @b\n")
这是结果
The total is: 1 4 9 16 25 36 49 64 81 100
我要找的是:
The total is: 1 3 6 10 etc..
显示的序列对于每个元素都有:它的索引 + 1 + 前一个索引的值
perl -wE'@b = 1..10; @r = 1; $r[$_] = $_+1 + $r[$_-1] for 1..$#b; say "@r"'
语法 $#name
用于数组中的最后一个索引 @name
。
如果原地改变数组,如图,那么就不需要初始化
perl -wE'@b = 1..10; $b[$_] = $_+1 + $b[$_-1] for 1..$#b; say "@b"'
同时打印
1 3 6 10 15 21 28 36 45 55
作为脚本
use warnings;
use strict;
use feature 'say';
my @seq = 1..10;
for my $i (1..$#seq) {
$seq[$i] = $i+1 + $seq[$i-1];
}
say "@seq";
$ perl -E'say "The total is: ",join" ",map$sum+=$_,1..10'
The total is: 1 3 6 10 15 21 28 36 45 55