gpt4 book ai didi

perl - Perl中的函数参数分隔符?

转载 作者:行者123 更新时间:2023-12-04 22:04:13 27 4
gpt4 key购买 nike

函数参数通常以逗号分隔(,),但在某些情况下似乎也以空格分隔,例如print FILEHANDLE 'string'。为什么需要这两个分隔符?

最佳答案

print 是特殊的内置 Perl 函数,具有特殊的语法规则。 Documentation 列出了四种可能的调用:

print FILEHANDLE LIST
print FILEHANDLE
print LIST
print

因此,尽管通常函数参数之间用逗号( ,)分隔,但这是一个异常(exception),它使打印目标与要打印的内容模糊不清。表现出这种行为的另一个函数是 system

共享此语法的其他功能称为 "Indirect Object Notation" 。形式表达:
function object arg1, arg2, … angn
# ^- no comma here

相当于:
object->function(arg1, arg2, … argn)

因此以下语句对是等效的:
$foo = new Bar;
$foo = Bar->new;

Indirect Object Notation 有 several problems 并且通常应该避免使用,除了一些众所周知的习惯用法,例如 print F "something"

关于perl - Perl中的函数参数分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32033003/

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