2011-09-23 99 views
5

可能重複:
Is there some kind of unseen Array termination in Ruby?
Array slicing in Ruby: looking for explanation for illogical behaviour (taken from Rubykoans.com)爲什麼Ruby數組[array.length,count]返回[]?

a = %w[a b c] 
a[3, 1] # => [] 
a[4, 1] # => nil 

任何人都可以解釋爲什麼一個[3,1]回報[]?爲什麼不是而不是?

謝謝。

+0

你的意思是'array [array.index,array.length]'?你的標題有點混亂。 – lemoncider

+0

@lemoncider是的,標題有點混亂,但我只是想指定** array.index **等於** array.length **。 –

回答

3

好吧,看起來像Ruby core documentation只標記爲「特例」。 根據Ruby編程語言(O'Reilly出版,2008),在這種情況下,評論是:

a[arr_len, len] #=> [], empty array right at the end 
a[arr_len + 1, len] #=> nil, nonthing beyond that 

沒有進一步給出解釋。所以我認爲你應該記住「特例」。

相關問題