Ruby 红宝石切片不是零

Ruby 红宝石切片不是零,ruby,Ruby,对于四元素数组,[4]返回nil,但[4,0]返回空数组 array = [:peanut, :butter, :and, :jelly] array[4] # => nil array[4, 0] # => [] array[5] # => nil array[5, 0] # => nil 为什么[4,0]不会像[5,0]一样返回nil Ruby中数组切片的答案:寻找不合逻辑行为的解释(取自Rubykoans.com)=> 这是一个特例。(斜体是我的): 对于

对于四元素数组,
[4]
返回
nil
,但
[4,0]
返回空数组

array = [:peanut, :butter, :and, :jelly]
array[4] # => nil 
array[4, 0] # => [] 
array[5] # => nil 
array[5, 0] # => nil 
为什么
[4,0]
不会像
[5,0]
一样返回
nil

Ruby中数组切片的答案:寻找不合逻辑行为的解释(取自Rubykoans.com)=>
这是一个特例。(斜体是我的):

对于起始和范围情况,起始索引仅为 在元素之前。此外,当 元素范围的起始索引位于数组的末尾

a = [ "a", "b", "c", "d", "e" ]
# ...
# special cases
a[5]                   #=> nil
a[6, 1]                #=> nil
a[5, 1]                #=> []