为了账号安全,请及时绑定邮箱和手机立即绑定

perl 数组的问题。

perl 数组的问题。

撒科打诨 2019-04-12 07:06:06
在看perl的教程。有如下一段:=================================2.特殊的数组索引如果将一个元素存储在数组最后元素的后面的位置,数组会自动增长的。Perl 没有长度的限制,只要你有足够的内存。如果Perl需要创建元素,则其值为undef。有时需要知道数组最后一个元素的索引。如 array 数组,其最后一个元素的索引为$#array一种简便方法:数组的负数索引值从最后一个元素开始。但不要认为这些索引是循环的。如果数组有3 元素,那有效的负数索引值是-1(最后一个元素),-2(中间的元素),-3(第一个元素)。实际上,几乎没有人使用除了-1之外的其它的负数索引值。=====================================其数组的负数索引值最后一个元素的索引为$#array 这2句是什么意思
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

数组的下标从0开始,$#array是一个特殊的变量,它的值就是数组array的最后的元素的下标,假设array有3个值,最后的下标就是2(依次是0、1、2),假设你的数组名字为@HHH,最后的索引就是$#HHH.

负值索引就是从后面依次取数组的索引,依次是(-1,-2,-3,-4,...),就是为了让你方便从数组里面取出值来用的。这样用数组实现一个栈就很容易了。例子你看楼上的就明白了。

查看完整回答
反对 回复 2019-04-13
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞


如数组为@a=(1,2,3,4,5);
$a[0]=1;
$a[1]=2;
$a[-1]=5;
$a[4]=5;
$a[$#array]=5;
$#array=4;


查看完整回答
反对 回复 2019-04-13
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

如果一个数组有5个元素,那$#array应该是4了.
负数索引就是倒序,正常是从0开始,而倒序从-1开始;
@a=(1,2,3,4,5);
那么 $#a==4;
$a[$#a]==$a[-1]==$a[4]==5;

查看完整回答
反对 回复 2019-04-13
  • 3 回答
  • 0 关注
  • 700 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信