Perl自生用例
我偶然发现了这段代码(修改后的摘录): 在这种情况下,是否有理由使用自生功能?为什么不干脆做呢Perl自生用例,perl,Perl,我偶然发现了这段代码(修改后的摘录): 在这种情况下,是否有理由使用自生功能?为什么不干脆做呢 my $respMap; my @respIdArray; foreach my $respId (@$someList) { push(@respIdArray, $respId); } $respMap->{'ids'} = \@respIdArray; return $respMap; 跟进:有人能给我一个很好的自生使用案例吗?在处理深层结构时,自生更有用 pus
my $respMap;
my @respIdArray;
foreach my $respId (@$someList) {
push(@respIdArray, $respId);
}
$respMap->{'ids'} = \@respIdArray;
return $respMap;
跟进:有人能给我一个很好的自生使用案例吗?在处理深层结构时,自生更有用
push( @{$hash{'key'}{$subkey}}, 'value' );
任何一种方法都是正确的;第一个使用数组引用
$respidaray
,第二个使用普通数组@respidaray
。在构建复杂数据结构时,您需要数组引用(请检查perldoc perlreftut
),但除此之外,您将选择哪一个
请注意,在这两种情况下,您都将数组引用分配给$respMap->{'ids'}
,因此示例实际上非常相似
顺便说一句,自动激活是另一回事,它与数据结构的动态创建有关。当
@$someList
为空时,您的重写会带来细微的差异。另外,我很好奇为什么只重写隐式arrayref分配,而不重写隐式hashref分配。
push( @{$hash{'key'}{$subkey}}, 'value' );