gpt4 book ai didi

arrays - Perl 中的引用 : Array of Hashes

转载 作者:行者123 更新时间:2023-12-02 07:36:55 25 4
gpt4 key购买 nike

我想迭代对哈希数组的引用,而不必制作本地副本,但我不断收到 Can't use string ("1") as an ARRAY ref while "strict refs"错误。为什么?我如何解决它?

sub hasGoodCar {
my @garage = (
{
model => "BMW",
year => 1999
},

{
model => "Mercedes",
year => 2000
},
);

run testDriveCars( \@garage );
}

sub testDriveCars {
my $garage = @_;

foreach my $car ( @{$garage} ) { # <=========== Can't use string ("1") as an ARRAY ref while "strict refs" error
return 1 if $car->{model} eq "BMW";
}
return 0;
}

最佳答案

线路

my $garage = @_;

@_的长度分配给garage。在对 testDriveCars 方法的调用中,您传递了一个参数,因此长度为 1,因此您会收到有关 “1” 的错误消息。

你可以这样写

my ( $garage ) = @_;

或者也许

my $garage = shift;

相反。

在分配 @garage 之后,发帖中也缺少分号。

参见perldoc perlsub了解详情。

关于arrays - Perl 中的引用 : Array of Hashes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3260482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com