Ruby/Идеология: различия между версиями

Содержимое удалено Содержимое добавлено
м Категоризация по запросу на w:ВП:РДБ
Строка 160:
 
<source lang=ruby>maccuB = [1,2,3,4,5]
maccuBArray[0] #-> 1
maccuBArray[-5] #-> 1
maccuBArray[-1] #-> 5
maccuBArray[4] #-> 5</source>
 
Эта возможность появилась как следствие патологической лени программистов. Для понимания их логики, продемонтрирую пример, который покажет, как выглядел бы этот же самый код, если бы возможность отрицательной индексации отсутствовала. Пример:
 
<source lang=ruby>maccuB = [1,2,3,4,5]
maccuBArray[0] #-> 1
maccuBArray[maccuBArray.size - 5] #-> 1
maccuBArray[maccuBArray.size - 1] #-> 5
maccuBArray[4] #-> 5</source>
 
Метод <code>.size</code> возвращает количество элементов массива и его использование было бы необходимым, но в результате его использования код становится более громоздким, поэтому программисты решили эту проблему со свойственным им изяществом. Вернемся к исходной теме нашего повествования...