可能重複:
Array slicing in Ruby: looking for explanation for illogical behaviour (taken from Rubykoans.com)爲什麼Ruby數組允許訪問無效的範圍索引?
在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
現在已經完全困惑了我。
任何人都可以解釋這種行爲嗎?
見http://stackoverflow.com/questions/3568222/array-slicing-in-ruby-looking- for-explanation-for-illogical-behavior-taken-fr – nimrodm 2012-01-07 19:43:00
希望我在搜索時發現了這個問題 - 謝謝。 – Martin 2012-01-07 19:48:47
這是您在輸入問題時提供的stackoverflow相關問題列表中的第二個問題(請參閱頁面的右側側欄)。無論如何,很高興我可以幫助:) – nimrodm 2012-01-07 21:10:49