我在IE8中得到一条荒谬的错误消息,告诉我常量'2‘是空的,或者不是一个对象。代码行是:
if (! localtree[idx][2]) {
我也尝试过像这样编写代码:
if (localtree[idx][2] == 0) {
该位置的数组中的值始终为零(目前而言)。
IE8怎么能认为数字2是空的呢?我被弄糊涂了!
确切的错误是:
Message: '2' is null or not an object
有人看过这个吗?
编辑: --这是一条非常误导的错误消息。请看我下面的答案,看看到底出了什么问题。
我正在抓取一串数据,其中每个元素对都由';‘字符分隔。因此,我将一个字符串拆分成一个数组来获取每个数据块。
每个块现在由一个标签和值对组成,它们由':‘分隔。但是,最终元素常常没有匹配的值。例如:
food:cheese
name:dave
car:renault
somethingelse
我抓住这些对,把它们分割成第二个数组,然后通过这样的前瞻迭代;
int a=0;
string[,] tmpInfo = new string[10, 2];
foreach(var info in details)
我在TFS模板中修改了一个工作流,在这个工作流的头部我初始化了一个名为NextChainBuildDefinition的字符串数组。在几个步骤之后,我尝试检查这个数组是否为空。
我是这样做的:
String.IsNullOrEmpty(CStr(NextChainBuildDefinition.Count))
在此之后,我看到了错误:Exception Message: Value cannot be null.因此NextChainBuildDefinition为空,并且在该步骤中它抛出了一个异常。
如何检查此字符串数组是否为空?
是否可以以某种方式指示Perl中的数组是未定义的还是空的?
我发现自己遇到了这样的情况:我希望能够区分空数组和尚未填充的数组(或由于某种原因无法填充)。
因此,例如,通过数组引用,我可以这样做:
my $apples;
$apples = get_apples();
if(defined $apples){
if(scalar @$apples == 0){
# We successfully got the list of apples, but there were none
}
}
else{
# There was
我有一个字符串数组,它来自哈希表中的数据。我试图删除任何(显然)空元素,但由于某种原因,似乎有一个顽固的元素拒绝删除。
我正在做:
# Get list array from hash first, then
@list = grep { $_ ne ' ' } @list;
@list = uniq @list;
return sort @list;
在grep行,我得到了Use of uninitialized value in string ne...消息,下面正确打印了数组的其余部分。
我试过用“长”的方法:
foreach (@list) {
if ($_
我试图解析一个非常大的列表,其中一些字段是空白的,因此不需要行。我想要做的是确定该行在该特定字段中为空的位置,并省略它。有人能帮忙吗?我对perl并不熟悉,也不确定是否应该使用split、join或任何一种。
id name food drink
1 joe chips pop
2 jack chicken beer
3 josh pizza beer
4 jim beer
5 john cookies milk
这是一个用\t分隔的示例表。注意#4吉姆缺了一件食物。因此,我想删除整行。我甚至不知道从何说起这件事。我希望专家能
当我尝试以下操作时
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @bl = qw(red green blue);
my @a = qw(green yellow purple blue pink);
print Dumper [grep {not @bl} @a];
我得到一个空数组。我原本以为@a中减去了@bl,所以输出结果是yellow purple pink。
这是怎么回事?
我有两个输入读入我的命令提示符,第一个是我正在编写的程序要搜索的一系列单词,第二个是包含单词所在位置的文件。例如,我的命令提示符显示为perl WebScan.pl word WebPage000.htm
现在,我没有问题访问这些输入打印,但我有很大的困难访问网页的内容,所以我可以执行正则表达式,以删除html标签和访问内容。我意识到有一个子例程可以在没有正则表达式的情况下完成这项工作,它的效率要高得多,但我需要使用正则表达式:(。
我可以毫不费力地访问要打印的html文件:
open (DATA, $ARGV[1]);
my @file = <DATA>;
print @file
我一直在尝试为一个基准程序创建一个包含可变字符数的字符串。我正在尝试使用它来设置我的消息字符串:
messages=`perl -e 'print "X" x $size'`
目标是创建动态数量的字符。例如,如果$size是1,那么将有一个X。如果size是5,那么消息将是XXXXX。这似乎不起作用,并且输出为空。
我是不是误解了什么?