红宝石切片不是零

时间:2016-01-24 18:16:49

标签: 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]不会像nil那样返回[5, 0]

回答Ruby中的数组切片:寻找不合逻辑行为的解释(摘自Rubykoans.com)=> Graphical Explination of WHats Happening

1 个答案:

答案 0 :(得分:3)

这是一个特例。来自official docs(斜体是我的):

  

对于起始和范围情况,起始索引就是   在一个元素之前。 此外,当返回时,返回一个空数组   元素范围的起始索引位于数组的末尾。

cymbal