gpt4 book ai didi

perl - perl中的函数原型(prototype)

转载 作者:行者123 更新时间:2023-12-01 08:16:29 24 4
gpt4 key购买 nike

我正在尝试创建具有与内置推送功能类似的功能的子例程 mypush,但以下代码无法正常工作。

    @planets = ('mercury', 'venus', 'earth', 'mars');
myPush(@planets,"Test");

sub myPush (\@@) {
my $ref = shift;
my @bal = @_;
print "\@bal : @bal\nRef : @{$ref}\n";
#...
}

最佳答案

在这一行:

    myPush(@planets,"Test");

Perl 还没有看到原型(prototype),所以不能应用它。 (如果你打开警告,你总是应该这样做,你会收到一条消息 main::myPush() called too early to check prototype。)

您可以在使用之前创建子例程:
    sub myPush (\@@) {
my $ref = shift;
my @bal = @_;
print "\@bal : @bal\nRef : @{$ref}\n";
#...
}

@planets = ('mercury', 'venus', 'earth', 'mars');
myPush(@planets,"Test");

或者至少用它的原型(prototype)预先声明它:
    sub myPush (\@@);

@planets = ('mercury', 'venus', 'earth', 'mars');
myPush(@planets,"Test");

sub myPush (\@@) {
my $ref = shift;
my @bal = @_;
print "\@bal : @bal\nRef : @{$ref}\n";
#...
}

关于perl - perl中的函数原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860700/

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