繁体   English   中英

索引由子例程返回的列表-语法

[英]Indexing a list returned by a subroutine - Syntax

鉴于我有以下错误代码:

my $this_is_easier = caller(0)[0];

为什么我必须执行以下操作才能进行编译?

my $this_is_easier = (caller(0))[0];

这只是Perl解析器的细微差别吗? 在其他语言(如Python和C ++)中,假定该函数将返回可索引的内容。

[]跟随另一个索引时,它意味着取消引用。

$foo[...][...]   means   $foo[...]->[...]

()跟随另一个索引时,则表示取消引用。

$foo[...](...)   means   $foo[...]->(...)

因此,人们期望是非常合理的

foo(...)[...]

意思是

foo(...)->[...]

而不是

( foo(...) )[0]

期望的差异可能是不被支持的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM