Ruby Array的意外行为?

时间:2011-09-07 16:29:07

标签: ruby

  

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

我有一个数组'a'

a = [ "a", "b", "c", "d", "e" ]

我已经完成了以下实验

irb(main):003:0> a[4,1]
=> ["e"]
irb(main):004:0> a[5,1]
=> []
irb(main):005:0> a[6,1]
=> nil
irb(main):006:0> 

我的问题是,

如果[5,1]为什么它返回一个空数组而不是'nil'? 这种行为有望吗?如果是这样的话?

Ruby doc中,它被标记为“#特殊情况”, 不幸的是,他们没有解释为什么这样工作?

我已经注意到同样的问题,也解决了堆栈溢出的两个地方,firstsecond 在第一个中,它被解释为“切片不识别元素,但在元素之间放置”

在第二个中,它被解释为ruby实现的错误。

这个问题的正确解释是什么?

0 个答案:

没有答案