我是Perl
的新手,我正在阅读有关数组的内容。
据我所知,阵列根据需要自动扩展(酷!)
但我也读到,我们可以使用负指标来以相反的顺序访问数组。
例如可以访问3个元素的阵列:
$array[0] $array[1] $array[2]
或
$array[-1] $array[-2] $array[-3]
(以相反顺序)。
我的问题是什么发生的值小于-3
例如$array[-5]
?
数组是否扩展或什么?Perl中的数组和负指数
6
A
回答
9
如果你读它,结果是一样的阅读$array[5]
- 值不存在,你会得到一个undef。走到最后的左边,并走到最后的权利是一样的。
如果你写它,你会得到一个错误。数组只能自动向右延伸。
+0
我有一个特殊的Perl版本,我的数组首先面向零端。他们只能自动离开我。 – Borodin 2013-04-09 22:50:07
0
你不能,它抛出的错误:
试图修改非可创建数组值的,标-2
2
如果您读取该值,则会得到一个undef值。
use strict;
use warnings;
my @l = qw(A B C);
print $l[-4];
输出到标准错误(程序继续运行):
Use of uninitialized value in print at ./x.pl line 7.
或者:
my @l = qw(A B C);
print "undef" if !defined $l[-4];
输出:
undef
如果你想分配一个值它你得到一个错误:
my @l = qw(A B C);
$l[-4] = "d";
输出(程序退出):
Modification of non-creatable array value attempted, subscript -4 at ./x.pl line 7.
而实际上的时间间隔可以被修改。因此,一个阵列可以启动任何价值不仅0
my @l = qw(A B C);
$[ = -4; # !!! Deprecated
print $l[-4], "\n";
print $l[-3], "\n";
输出:
A
B
相关问题
- 1. 指数和负数
- 2. PHP中数组的负指数
- 3. 在perl中匹配负数和非负数
- 4. 负指数中的Fortran
- 5. 负指数值?
- 6. 负指数
- 7. 的Perl:指定数组的哈希
- 8. 的Perl - 数组和散列
- 9. 需要禁止数组中的负指数值
- 10. 的Python,__getitem__,切片和负指数
- 11. Perl对象中数组的数组
- 12. 使用NumPy数组操作数的负指数
- 13. C中的数组指针和指针数组
- 14. python scipy.stats.powerlaw负指数
- 15. PHP - array_fill负指数
- 16. 负片段指数?
- 17. 尾数和指数 - 带小数的负数(超过.5)
- 18. Perl哈希和数组
- 19. Perl:数组和散列
- 20. C#中的随机替换正数和负数数组#
- 21. 指针数组和指针的指针数组
- 22. C从文件读取负数和正数数组到数组
- 23. memcached中的Perl数组
- 24. Perl中的数组长度
- 25. Perl中的引用数组
- 26. perl中的对象数组?
- 27. perl中的数组操作
- 28. perl中的转储数组
- 29. ArangoDB指数和数组
- 30. 筛选数组中的负数sql
测试出来。这些类型的问题对你自己来说是有好处的 – chrsblck 2013-04-09 19:48:02
你为什么不试试呢? – marcadian 2013-04-09 19:48:04
我可以试试看,但我想了解内存模型,如果这在Perl中有意义。如果不是,我可以简单地关闭 – Cratylus 2013-04-09 19:49:19