我无法理解以下代码段:
perl -e '
my @test = undef;
if(@test) {print "Full\n";}'
Full
Run Code Online (Sandbox Code Playgroud)
似乎@test虽然它被分配undef但它实际上有1个元素undef.
那么测试if的正确方法@test是什么?
做if(scalar(@test) == 1 && !$test[0])对我来说似乎很奇怪
Mil*_*ler 10
要初始化@array为空,只需执行以下操作:
my @test = ();
Run Code Online (Sandbox Code Playgroud)
目前你在做:
my @test = (undef);
Run Code Online (Sandbox Code Playgroud)
正如您所观察到的那样,正在为数组分配单个值.
要清除已声明的数组,可以这样使用undef:
undef @test;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |