试图理解Ruby数组

时间:2013-09-15 17:24:14

标签: ruby

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

为什么array[4,0]返回[]array[5,0]返回nil

1 个答案:

答案 0 :(得分: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]               #=> []