【发布时间】:2014-03-03 09:30:14
【问题描述】:
介绍后:
use strict;
我的二维数组不再起作用,我在文档中找不到如何预先声明它们的描述和示例。那么,我该怎么办?
【问题讨论】:
-
你在
use strict;之前是怎么声明的?在 Perl 中,你不能真的说,“嘿,我有一个数组,它是二维的。”你只能说,“嘿,我有一个数组,这里是:my @array = ();。然后你可以开始在其中放入数组引用,然后让它变成二维的。 -
另外,“它不起作用”不是问题描述。您收到任何错误消息吗?有什么警告吗? (你是
use warnings;,顺便说一句?)你期望什么输出?你实际上得到了什么输出? 提供详细信息。分享您的研究。 -
在
use strict之前根本没有预先声明。所以访问$a[$i][$j]没问题。第一次写的时候就写了,第一次读的时候就读了。现在,在第一次访问时,我当然会得到Global symbol "@zelle" requires explicit package name at ConwaysSpiel.pl line 23,我知道如何解决这个问题。该数组应该是一个全局变量,因为它拥有康威模拟人生的游乐场。 -
@ubuplex 在这种情况下,只需在顶部声明您的变量:
my @zelle;。虽然这也不是出色的设计,但它应该可以解决您的直接问题。 -
哎呀,这太容易了。我试过了,但收到语法错误消息。所以现在肯定有其他原因以某种方式被消除了。现在可以使用了。