perl – 为什么@my_array = undef有一个元素?

前端之家收集整理的这篇文章主要介绍了perl – 为什么@my_array = undef有一个元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@my_array = undef;
if (@my_array ) {  
    print 'TRUE'; 
} else {
    print 'FALSE';
}

这将打印为TRUE

为什么数组有元素?

解决方法

该数组有一个元素,因为您分配了一个元素.考虑以下:

@array = undef;  # Assigns the value 'undef' to @array
@array = ();     # Assigns the empty list to @array
undef @array;    # Undefines @array

它们看起来很相似,但第一行与其他两行不同(相当于).第一行产生具有单个元素的数组(值undef).另外两个导致一个空数组.在Perl中,undef既是值又是运算符.第一行将其用作值,最后一行将其用作运算符.

通常不需要清除阵列.声明时它们是空的:

my @array;  # There's nothing in here,yet

猜你在找的Perl相关文章