gpt4 book ai didi

perl - 我可以在 perl 子原型(prototype)中使变量可选吗?

转载 作者:行者123 更新时间:2023-12-04 02:26:50 25 4
gpt4 key购买 nike

我想了解是否可以在其中包含子原型(prototype) 可选参数。有了原型(prototype),我可以做到这一点:

sub some_sub (\@\@\@) {
...
}

my @foo = qw/a b c/;
my @bar = qw/1 2 3/;
my @baz = qw/X Y Z/;

some_sub(@foo, @bar, @baz);

这很好,可读性强,但在我尝试做的那一刻

some_sub(@foo, @bar);

甚至

some_sub(@foo, @bar, ());

我收到错误:

Not enough arguments for main::some_sub at tablify.pl line 72, near "@bar)"

Type of arg 3 to main::some_sub must be array (not stub) at tablify.pl line 72, near "))"

是否可以有一个原型(prototype)可变数量的参数?还是可以通过签名实现类似的东西?

我知道这可以通过始终传递 arrayrefs 来完成我想知道是否还有其他方法。毕竟,TMTOWTDI。

最佳答案

分号后的所有参数都是可选的:

sub some_sub(\@\@;\@) {
}

关于perl - 我可以在 perl 子原型(prototype)中使变量可选吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66889565/

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