Начнем с того, что в данном случае это особый случай в Ruby.
В этом особом случае также есть объяснение:
Существует разницакогда вы говорите об индексации массива и обрезании его.
Индексирование массив означает наличие уникальной позиции, которая помогает вам получить доступ к значению в данном индексе.
Нарезка с другой стороны означает «разрезать» между двумя точками (точки PS здесь являются индексными)
Учтите это:
array = [Ruby, PHP, JS, HTML, CSS]
Индексирование в этом случае будет:
array = [Ruby, PHP, JS, HTML, CSS]
Index = 0. 1. 2. 3. 4.
Нарезка в том же случае будет:
array = [Ruby, PHP, JS, HTML, CSS]
Slice = 0. 1. 2. 3. 4. 5.
Следовательно:
array[5,n] #[] i.e. you get an empty array.
array[6,n] #nil i.e. NIL
Ссылка