0
文獻爲Array#slice
的特殊情況表示:紅寶石陣列切片
[A] n的當一個元素範圍的起始索引是在所述陣列的前端返回空數組。
如果索引(或起始索引)超出範圍,則返回nil。
考慮到這一點,
a = ["a","b","c","d","e"]
a[6,1] # => nil
a[5,1] # => []
a[5..10] # => []
爲什麼a[5,1]
和a[5..10]
返回鑑於5
不是數組的末尾空數組?它應該沒有索引,因此它應該返回nil
。
這非常有道理。這隻發生在我們使用索引範圍對數組進行切片時,我是對的嗎?由於[5]仍然會返回零 – aDev
我想你的意思是說「當我== arr.size'。」 – moveson
是的,因爲'5'不是一個範圍,'a [5]'是在索引'5'處的'a'的值。對於所有'i> = a.size',a [i]#=> nil'。 –