在Perl中,如果我有:
no strict;
@ARY = (58, 90);
为了对数组的一个元素进行操作,比如说第二个,我会写(可能是一个较大表达式的一部分):
$ARY[1] # The most common way found in Perldoc's idioms.
但是,由于某些原因,这些方法也可以工作:
@ARY[1]
@{ARY[1]}
结果全部在同一个对象中:
print (\$ARY[1]);
print (\@ARY[1]);
print (\@{ARY[1]});
输出:
SCALAR(0x9dbcdc)
SCALAR(0x9dbcdc)
SCALAR(0x9dbcdc)
支持这种构造的语法规则是什么?使用这些结构中的每一个,或者将它们中的所有结构混合在一起,可以设计出可靠的程序代码有多远?这些表达式的互换性如何?(始终在非严格上下文中发言)。
考虑到证明如何提出这个问题,我同意将“使用严格”作为一种更好的做法,但我仍然对构建非严格表达式的一些知识感兴趣。
为了使自己对这种不安有所帮助,我来了:
据我了解,这些提示中没有一个使我更好地理解自己的问题。
提前致谢。
perlfaq4的报价:
$array[1]
和之间有什么区别@array[1]
?区别在于符号,即数组名称前面的特殊字符。该
$
印记的意思是“只有一个项目”,而@
印记的意思是“零个或多个项目”。将$
让你一个标,而@
让你的列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句