\$display, -6ren">
gpt4 book ai didi

Perl GetOptions 奇怪的逗号选项之一

转载 作者:行者123 更新时间:2023-12-04 04:52:44 29 4
gpt4 key购买 nike

use Getopt::Long::Configure(pass_through);
# ....
GetOptions(
"display=s" => \$display,
"input=s", => \$input, # A strange comma right after "input=s",
);

有人可以为我解释一下上面的这个 Perl 代码吗?
第二个选项“input=s”有一个奇怪的逗号。
这个逗号在这里有什么特殊含义吗?

非常感谢,

最佳答案

不,这个逗号主要是放错了地方,根本没有意义。

但是,它不会影响代码,因为您传递的参数是作为哈希传入的,而哈希基本上就是键值对列表。
胖逗号(其他语言中的哈希火箭)=>也可以像一个简单的逗号一样对待 - 它主要用于表示这样的键值对。

你也可以这样写:

GetOptions(
"display=s", \$display,
"input=s", \$input,
)

加上你的额外逗号,它变成:
GetOptions(
"display=s", \$display,
"input=s", , \$input,
)

这根本不会改变列表,因为两个或多个逗号和/或火箭被 perl 简单地视为一个逗号。
@a = (1, 2, 3, , , 6 => 7, 6);
print join(",", @a), "\n";

1,2,3,6,7,6

所以:它没有害处,但由于它会导致混淆,我建议将其删除。

关于Perl GetOptions 奇怪的逗号选项之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17201469/

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