负数索引从数组末尾向后计数(-1是 最后一个元素)。对于起始和范围情况,起始索引就是 在一个元素之前。此外,当返回时,返回一个空数组 元素范围的起始索引位于数组的末尾。
如果索引(或起始索引)超出范围,则返回nil。
为什么
a = [0,1,2,3,4]
a[4] #=> 4
a[4,0] #=> [] - length is 0, so empty array is returned
a[5] #=> nil - makes sense since it is out of range
a[5,0] #=> [] - why is this empty?
a[6,0] #=> nil - but this is nil?
答案 0 :(得分:2)
我用{ix}代替逗号。
a = [{ix0}0{ix1}1{ix2}2{ix3}3{ix4}4{ix5}]
a [5,0]表示转到5 {ix5}并取0个元素。那只是一个空数组。
{ix6}不是有效的起始位置,因此为零。