Из документации говорится, что firstindex () находит первый индекс коллекции. Почему бы просто не использовать 1? Что может быть в случае, когда это не 1?
Из документации говорится, что firstindex () находит первый индекс коллекции. Почему бы просто не использовать 1? Что может быть в случае, когда это не 1?
Ответы:
Первый индекс не обязательно равен 1, потому что Юлия поддерживает пользовательскую индексацию . Чтобы понять, почему это полезно, вы не можете побить пост в блоге Тима Холи .
Пользовательские индексы позволяют кодировать информацию о ваших данных в самом шаблоне индексации : иногда более естественно начинать считать с одного, иногда с нуля, иногда с более произвольного числа.
В других случаях, например, когда вы пишете универсальные алгоритмы, вы на самом деле не заботитесь о конкретном индексе. В этом случае вы можете использовать такие абстракции , как firstindex
, lastindex
, и eachindex
.
Чаще всего лучше вообще не ссылаться на индекс, а просто перебирать элементы коллекции (например for x in xs
).
Юлия позволяет вам использовать наиболее эффективную стратегию для ваших данных.
Существуют специальные типы массивов, такие как, например, OffsetArrays.jl, которые могут иметь произвольные индексы.
firstindex
,lastindex
иeachindex
. Вы могли бы сказать, что Юлия устанавливает стандарты для вас ...