小编hex*_*der的帖子

如何用'空槽'创建一个匿名数组([])?

我可以在其中创建一个带有"空插槽"的数组:

$ perl -wde 1
...
  DB<1> $x[2] = 0
  DB<2> x \@x
0  ARRAY(0x103d5768)
   0  empty slot
   1  empty slot
   2  0
Run Code Online (Sandbox Code Playgroud)

要么

  DB<3> $#y = 4
  DB<4> x \@y  
0  ARRAY(0x103d5718)
   0  empty slot
   1  empty slot
   2  empty slot
   3  empty slot
   4  empty slot
Run Code Online (Sandbox Code Playgroud)

请注意:这与分配不同undef.

但是如何使用[和指定匿名数组]呢?

这不起作用:

  DB<5> x [,,0]
syntax error at (eval 27)[/usr/local/lib/perl5/5.10.0/perl5db.pl:638] line 2, near "[,"
Run Code Online (Sandbox Code Playgroud)

这也失败了,因为我只得到指定的值:

  DB<6> x []->[2] = 0
0  0
Run Code Online (Sandbox Code Playgroud)

额外问题:如何在Perl脚本中检查"空数组槽"?

背景:在我的测试脚本中,我希望能够精确地比较数组内容.例如,我想区分"未分配"和"分配了undef值".

感谢您的任何见解.

perl anonymous-arrays

5
推荐指数
1
解决办法
1777
查看次数

标签 统计

anonymous-arrays ×1

perl ×1