gpt4 book ai didi

Perl 函数调用让我困惑

转载 作者:行者123 更新时间:2023-12-04 17:10:38 25 4
gpt4 key购买 nike

perl 函数调用让我很困惑,谁能帮帮我?
catFiles像这样调用:

catFiles( \@LINKFILES => "$output_prefix.links" );
catFiles功能定义:
sub catFiles {

unlink("$_[1]") if(exists $_[1]);
system qq( cat "$_" >> "$_[1]" ) for @{$_[0]};
}

不知道为什么会有 =>我认为应该是 , .

最佳答案

=>是(几乎)等价于 ,在 Perl 中。 (有关差异,请参阅 the "official" documentation。)

通常在定义散列时使用它来表示键和值之间的关系:

my %hash = (
'a' => 1,
'b' => 2,
);

我们可以写成 my %hash = ('a', 1, 'b', 2);行为没有变化,但这看起来不太好。你甚至可以做 my $hash = ('a', 1 => 'b', 2);但这只是令人困惑。

同样,在您的情况下,您可以将代码编写为
catFiles(\@LINKFILES, "$output_prefix.links");

它会做与 => 相同的事情版本。

这里它被用作语法糖,我想表明 @LINKFILES 的内容将被连接成 "$output_prefix.links" .

关于Perl 函数调用让我困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15858275/

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