0
array = [:peanut, :butter, :and, :jelly]

为什么要array[4,0]退货[]array[5,0]退货nil

4

1 回答 1

4

根据Array#[] documentation

当元素范围的起始索引位于数组末尾时,将返回一个空数组。

如果索引(或起始索引)超出范围,则返回 nil。

a = [ "a", "b", "c", "d", "e" ]
a[2] +  a[0] + a[1]    #=> "cab"
a[6]                   #=> nil
a[1, 2]                #=> [ "b", "c" ]
a[1..3]                #=> [ "b", "c", "d" ]
a[4..7]                #=> [ "e" ]
a[6..10]               #=> nil
a[-3, 3]               #=> [ "c", "d", "e" ]
# special cases
a[5]                   #=> nil
a[6, 1]                #=> nil
a[5, 1]                #=> []
a[5..10]               #=> []
于 2013-09-15T17:26:08.563 回答