Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
美元在perl中的含义是什么?_Perl - Fatal编程技术网

美元在perl中的含义是什么?

美元在perl中的含义是什么?,perl,Perl,考虑以下代码: my @candidates = get_candidates($marker); CANDIDATE: for my $i (0..$#candidates) { next CANDIDATE if open_region($i); $candidates[$i] = $incumbent{ $candidates[$i]{region} }; } 第3行中的$#是什么意思?因为候选对象是一个数组,$#候选对象是最大的索引(元素数-1) 例如: my @x = (4,

考虑以下代码:

my @candidates = get_candidates($marker);
CANDIDATE:
for my $i (0..$#candidates) {
  next CANDIDATE if open_region($i);
  $candidates[$i] = $incumbent{ $candidates[$i]{region} };
}

第3行中的
$#
是什么意思?

因为候选对象是一个数组,
$#候选对象
是最大的索引(元素数-1)

例如:

my @x = (4,5,6); 
print $#x;
将打印
2
,因为这是最大的索引

请注意,如果数组为空,
$#候选者
将为-1

编辑:从
perldoc perlvar

$#也用作符号,当在
数组,给出该数组中最后一个元素的索引。
my@array=(“a”、“b”、“c”);
我的$last_索引=$#数组;#$最后一个索引是2
对于我的$i(0..$#数组){
打印“索引$i的值为$array[$i]\n”;
}

由于候选对象是一个数组,
$#候选对象
是最大的索引(元素数-1)

例如:

my @x = (4,5,6); 
print $#x;
将打印
2
,因为这是最大的索引

请注意,如果数组为空,
$#候选者
将为-1

编辑:从
perldoc perlvar

$#也用作符号,当在
数组,给出该数组中最后一个元素的索引。
my@array=(“a”、“b”、“c”);
我的$last_索引=$#数组;#$最后一个索引是2
对于我的$i(0..$#数组){
打印“索引$i的值为$array[$i]\n”;
}

这意味着
数组大小-1
。它与
(scalar@array)-1
相同,这意味着
数组大小-1
。它与
(scalar@array)-1
相同,它是数组上最后一个索引的值(在您的例子中,它是候选数组上最后一个索引)。

它是数组上最后一个索引的值(在您的例子中,它是候选数组上最后一个索引)。

在perl中,我们有几种方法来获取数组大小,例如print@arr,print scalar(@arr),打印$#arr+1等等。没有理由,只需使用它。在进一步接触perl时,您将熟悉perl中的一些默认用法。与C++/java不同,perl使用了大量的

特殊的表达式来简化我们的编码,但有时它总是让我们更加困惑。

在perl中,我们有几种方法来获取数组大小,如print@arr、print scalar(@arr)、print$#arr+1等等。没有理由,只需使用它。在进一步接触perl时,您将熟悉perl中的一些默认用法。与C++/java不同,perl使用了大量的

特殊表达式可以简化我们的编码,但有时它总是让我们更加困惑。

即使数组为空(并为您提供-1),它也适用,尽管值可能与
(scalar@array)-1相同,但它不是它的快捷方式。最高索引和元素数在数组元数据中作为单独的值保留。虽然很少发生这种情况,
$[
可以设置为0以外的值,在这种情况下,
$
的值与数组中元素数之间的关系会发生变化。即使数组为空,它也会保持为真(并给出-1)虽然该值可能与
(scalar@array)-1相同,但它不是指向该值的快捷方式。最高索引和元素数在数组元数据中作为单独的值保留。虽然很少发生这种情况,
$[
可以设置为非0的值,在这种情况下,
$
的值与数组中的元素数之间的关系会发生变化。在这里评论/提出问题之前,你应该先学习basic。@dev kumar:BTW,
$\arrayname
也可以用于赋值的左侧,以更改高度st索引编号,用于扩展或截断数组(不常用).
$#
记录在
man perlvar
中。在这里评论/提问之前,你应该先学习basic。@dev kumar:BTW,
$#arrayname
也可以用于赋值的左侧,以更改最高索引号,扩展或截断数组(不经常使用).
$#
记录在
man perlvar
中。