我發現,這是你如何使用範圍與數組引用:
@$aref[2..$#$aref]
所以,情況是我沒有訪問所有這些不同的Perl環境(測試),但如果代碼,這將最終得到編譯,未能編譯,我惹上麻煩。
的Perl版本:5.16.2
,5.10.1
,並5.8.8
有人知道嗎?
谷歌的Perl語法錯綜複雜而沒有變得聰明,實際上是不可能的。我不夠聰明爲此做。
P.S.你知道嗎? @$arr_ref[-3..$#$arr_ref]
爲您提供了最後三個元素,然後將整個數組添加到它。這顯然是[-3..5]
意味着:給元素-3
(= 3)至5
,然後附加0
至5
。
這是因爲perl沒有以合理的方式處理它,除非兩個範圍索引都是相同的符號:要得到一個包含從上到下的第5個分片,您只需使用@arr[-5..-1]
。
這是明智的 - 「-3.5」是系列-3,-2,-1,0,1,... 5,並且您正在索要這些指數的一部分。 **你恰好有一個六元素數組**,因此索引-3處的元素也與索引3處的元素相同。 – pilcrow
現在我知道範圍本身就是一個事物,並提供陣列切片之外的用途。 –