perl - 循环遍历 perl 数组

标签 perl sequence

我正在尝试: 使用数字 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

As a script

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 - 循环遍历 perl 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69639928/

相关文章:

带有 Moo 的 Perl ORM

perl CGI.pm : lists vs strings to build pages

xml - 如何在 Perl 中使用 XML 文件?

string - 最短公共(public)超弦算法?

function - 在 postgresql 中管理修订

perl - 如何在 emacs cperl 模式中更改标量变量的外观?

multithreading - Perl线程: is exit needed?

Postgresql - SQL 查询列出数据库中的所有序列

java - 是什么导致 Java(冰雹序列)在我的程序中崩溃

java - 在jpa中调用序列的下一个值