Ruby数组索引

时间:2010-12-12 22:17:39

标签: ruby arrays

  

可能重复:
  Array slicing in Ruby: looking for explanation for illogical behaviour (taken from Rubykoans.com)

在我的ruby解释器上运行此代码,最终得到7..4输出nil,而6..4输出

arr = [1, 2, 3, 4, 5, 6]

p arr[7..4]
p arr[6..4]

根据ruby doc,如果初始索引超出范围,则返回nil,在这种情况下,(6& 7)都超出了数组的范围,但只有第一个返回nil。

编辑for clairification:输出如下:

nil 
[]

为什么第一个返回nil而第二个返回[]?

1 个答案:

答案 0 :(得分:1)

好吧,解释器可能不理解“减少”的范围,尝试

puts arr[3..1] 

也没有返回任何内容,可能是因为[3..1]不是范围。 []中