perl初始化数组,@max=()和@max=undef,以及@max="";三者都是不一样的。

xiaoxiao2021-02-28  13

定义数组 my @max=(); 和 my @max=undef; 竟然不是一回事。 在push @max,"ssss"命令之后, 第一种写法的$max[0]="ssss" 第二种写法的$max[0]是undef,$max[1]="ssss"

百度中,也有 人遇到类似的问题: 写了个包含数组的几句代码,发现始终最终返回的数组大小始终不对。后来才发现犯了个错误。 开始时使用如下语句初始化perl数组: my @arr=undef; 这样写是不对的,实际上是初始化了一个仅包含undef元素的数组。即$arr[0]=undef. 此时用scalar(@arr)得到的数组长度为1. 正确的方法为: my @arr=(); 细节决定成败啊。。。 而且初始化的时候不要用my @arr=‘’;这样数组前面会有一个空格键。

转载请注明原文地址: https://www.6miu.com/read-1400290.html

最新回复(0)