函数参数通常用逗号(,)分隔,但在某些情况下似乎也是空格,比如print FILEHANDLE 'string'.为什么这两个分隔符都是必需的?
el.*_*ado 10
print是特殊的内置Perl函数,具有特殊的语法规则.文档列出了四种可能的调用:
print FILEHANDLE LIST
print FILEHANDLE
print LIST
print
Run Code Online (Sandbox Code Playgroud)
因此,虽然通常函数参数由逗号(,)分隔,但这是一个例外,它消除了打印目标与要打印的内容的歧义.表现出这种行为的另一个功能是system.
共享此语法的其他功能称为"间接对象表示法".表达形式:
function object arg1, arg2, … angn
# ^- no comma here
Run Code Online (Sandbox Code Playgroud)
相当于:
object->function(arg1, arg2, … argn)
Run Code Online (Sandbox Code Playgroud)
因此,以下语句对是等效的:
$foo = new Bar;
$foo = Bar->new;
Run Code Online (Sandbox Code Playgroud)
间接对象表示法有几个问题,一般应该避免,除了少数众所周知的习语,如print F "something"
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |