在 Ruby koans 中有一个问题如下:
你必须用正确的语句填写空缺处。前四个断言按照我的预期工作,但是最后三个让我感到困惑。
其中有以下问题:
def test_slicing_arrays
array = [:peanut, :butter, :and, :jelly]
assert_equal _, array[0,1]
assert_equal _, array[0,2]
assert_equal _, array[2,2]
assert_equal _, array[2,20]
assert_equal _, array[4,0]
assert_equal _, array[4,100]
assert_equal _, array[5,0]
end
你必须用正确的语句填写空缺处。前四个断言按照我的预期工作,但是最后三个让我感到困惑。
array[4,0]
返回 []
,array[4,100]
也是如此。在这一点上,我认为超出数组范围(在这种情况下大于3)的范围只会返回一个空数组。
但是,array[5,0]
返回 nil
,这完全让我感到困惑。
有人能解释这种行为吗?