-2
a = [1,2,3,4]
a[4,43]
# => []
a[5,43]
# => nil

この異常の理由は何ですか?

4

2 に答える 2

6

あなたがこれを意味すると仮定します:

a = [1,2,3,4,5]
a[5,43]
# => []
a[6,43]
# => nil

http://bugs.ruby-lang.org/issues/4245から:

これは仕様ごとです。

次のように考えてください。

[5..-1]: 5 番目の要素から最後の要素までのすべての要素を教えてください。ないので[]

[6..-1]: 6 番目の要素から最後の要素までのすべての要素を教えてください。何だって?6 番目のものはないため、指定されたリクエストが範囲外であるため、nil を返します。

于 2013-08-13T12:18:56.660 に答える