用Perl添加数组的更好方法



代码

use List::MoreUtils 'pairwise'; # http://stackoverflow.com/a/1865966/54964
my @offset = (0.28)x scalar(@x); # http://www.perlmonks.org/?node_id=110603
my @x = pairwise { $a + $b } @x, @offset;

我想通过默认的工具找到一个更好的方法。

有没有更好的方法在Perl中添加数组?

这里不需要成对的数组求和:这是一个问题,您可以选择创建与原始数组一样大的第二个数组(至少会使程序的内存占用增加一倍)。

您所要做的就是为@x的每个元素添加一个常量。使用for循环:

$_ += 0.28 for @x;

首先让它发挥作用,然后让它变得更好。或者换句话说,避免过早优化。

my $offset = 0.28;
for my $x_value ( @x ){
    $x_value += $offset;
}

简单意味着那些必须维护代码的人会喜欢你。☻

最新更新