我是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. 負指數中的Fortran
- 2. 負指數值?
- 3. 的Perl:指定數組的哈希
- 4. 的Perl - 數組和散列
- 5. 需要禁止數組中的負指數值
- 6. 使用NumPy數組操作數的負指數
- 7. Perl對象中數組的數組
- 8. C中的數組指針和指針數組
- 9. PHP - array_fill負指數
- 10. 尾數和指數 - 帶小數的負數(超過.5)
- 11. Perl哈希和數組
- 12. C#中的隨機替換正數和負數數組#
- 13. perl中的轉儲數組
- 14. perl中的對象數組?
- 15. perl中的數組操作
- 16. 數組和指針
- 17. 指針和數組
- 18. MATLAB - 如何使用負指數數組繪製一個函數?
- 19. 在Perl中提取字符串中的所有正整數和負整數
- 20. RSA的模數求冪的負指數
- 21. 在Perl中使用哈希和數組
- 22. 使用數組進行負指數的基本計算
- 23. 用於形狀數組的負指數是什麼? (Tensorflow)
- 24. 指向數組的指針數組,其中每個指針指向數組
- 25. Perl:加入函數和數組
- 26. 所有負數的數組中的最大行總和
- 27. 在Bash中使用bc的負指數
- 28. 指定的PHP數組和
- 29. Perl Json數組
- 30. 在Perl數組
測試出來。這些類型的問題對你自己來說是有好處的 – chrsblck 2013-04-09 19:48:02
你爲什麼不試試呢? – marcadian 2013-04-09 19:48:04
我可以試試看,但我想了解內存模型,如果這在Perl中有意義。如果不是,我可以簡單地關閉 – Cratylus 2013-04-09 19:49:19