0
array = [:peanut, :butter, :and, :jelly]
Почему array[4,0]
возвращение []
и array[5,0]
возвращается nil
?Пытаясь понять Рубиновые массивы
array = [:peanut, :butter, :and, :jelly]
Почему array[4,0]
возвращение []
и array[5,0]
возвращается nil
?Пытаясь понять Рубиновые массивы
Согласно Array#[] documentation
:
пустой массив возвращается, когда начальный индекс для диапазона элемент находится в конце массива.
Возвращает ноль, если индекс (или начальный индекс) выходит за пределы допустимого диапазона.
a = [ "a", "b", "c", "d", "e" ]
a[2] + a[0] + a[1] #=> "cab"
a[6] #=> nil
a[1, 2] #=> [ "b", "c" ]
a[1..3] #=> [ "b", "c", "d" ]
a[4..7] #=> [ "e" ]
a[6..10] #=> nil
a[-3, 3] #=> [ "c", "d", "e" ]
# special cases
a[5] #=> nil
a[6, 1] #=> nil
a[5, 1] #=> []
a[5..10] #=> []