我希望把这样的事情在我的编码使两个数组在Perl
@a1 = qw(1 2 3)
@a2 = qw(5 3 7 8 9 3 5 6 8 2)
项目的@ A1量和@ A2将需要能够改变尺寸
@ a3 = @ a1的每一行加上@ a2的每一行,所以它将是5 + 1 5 + 2 5 + 3 3 + 1 3 + 2 3 + 3 7 + 1 7 + 2和等等。
with a result of
6 7 8 4 5 3 8 9 etc
我希望把这样的事情在我的编码使两个数组在Perl
@a1 = qw(1 2 3)
@a2 = qw(5 3 7 8 9 3 5 6 8 2)
项目的@ A1量和@ A2将需要能够改变尺寸
@ a3 = @ a1的每一行加上@ a2的每一行,所以它将是5 + 1 5 + 2 5 + 3 3 + 1 3 + 2 3 + 3 7 + 1 7 + 2和等等。
with a result of
6 7 8 4 5 3 8 9 etc
一种方法是将有两个嵌套调用map
:
my @a3 = map { my $a = $_; map { $_ + $a } @a1 } @a2;
很好,谢谢。 – 2010-11-21 17:15:04
您可以循环嵌套做到这一点很简单。
use strict;
use warnings;
use Data::Dumper;
my @a1 = qw(1 2 3);
my @a2 = qw(5 3 7 8 9 3 5 6 8 2);
my @c;
foreach my $a2 (@a2)
{
foreach my $a1 (@a1)
{
push @c, $a1 + $a2;
}
}
print Dumper(\@a1, \@a2, \@c);
这个工程也很棒,从未使用Data:Dumper。感谢你的回答。 – 2010-11-21 18:22:13
'@ a2 X + @ a1' in Perl6 :) – 2010-11-21 17:25:58