【发布时间】:2013-05-29 00:04:01
【问题描述】:
所以我要做的就是将一个数组传递给 PERL 中的函数(或子例程)
所以@Temp 包含 2 个数组
[0] = {xx,xx,xx,xx,xx}
[1] = {xx,xx,xx,xx,xx}
#returns array containing two arrays
my @temp = $lineParser->parseLine($_);
@handOne = $cardFactory->createHand(@Temp[0]);
@handTwo = $cardFactory->createHand(@Temp[1]);
这是包含在单独的类(或包或其他任何东西)中的 createHand 方法
sub createHand
{
my $self = shift;
my @temp = @_;
my @arrayOfCards;
foreach(@temp)
{
my $value = substr($_,0,1);
my $color = substr($_,1,1);
push(@arrayOfCards,new Card($value,$color));
}
return @arrayOfCards;
}
我遇到的问题是数组被传递但在数组的开头包含ARRAY(XXXXX)。
例如。 {0 ARRAY(xxxxxx), 0 'xx', 1 'xx', ...}
为什么会这样?
我怎样才能正确地做到这一点?
【问题讨论】:
-
这是一个错字,还是你有两个变量名为
@temp和@Temp。因为它们是两个不同的变量。