2011-09-23 16 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]戻り[]を説明してもらえますか?どうしてですかnil代わりに?

ありがとうございます。

+0

あなたは 'array [array.index、array.length]'を意味しますか?あなたのタイトルはちょっと混乱しています。 – lemoncider

+0

@lemonciderはい、タイトルはちょっと混乱しますが、** array.index **が** array.length **と等しいことを指定したいだけです。 –

答えて

3

まあ、Ruby core documentationのように見えるのは、これを「特別なケース」とマークするだけです。 は、Rubyプログラミング言語(オライリー、2008)によると、この場合のコメントは以下のとおりです。

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

これ以上の説明は与えられていません。だから私はあなたが "特別な場合"を覚えておくべきだと思います。

関連する問題