З документації сказано, що firstindex () знаходить перший індекс колекції. Чому б просто не використовувати 1? Що може бути у випадку, коли це не 1?
З документації сказано, що firstindex () знаходить перший індекс колекції. Чому б просто не використовувати 1? Що може бути у випадку, коли це не 1?
Відповіді:
Перший індекс не обов'язково 1, оскільки Джулія підтримує власну індексацію . Щоб зрозуміти, чому це корисно, ви не можете перемогти публікацію в блозі Тіма Холі .
Спеціальні індекси дозволяють кодувати інформацію про ваші дані в самій схемі індексації : іноді більш природно починати рахувати з одного, іноді з нуля, іноді з якогось більш довільного числа.
В інших випадках, наприклад, коли ви пишете загальні алгоритми, вам не дуже важливий конкретний індекс. В цьому випадку ви можете використовувати такі абстракції , як firstindex
, lastindex
, і eachindex
.
Найчастіше краще взагалі уникати посилань на індекс і просто перебирати елементи колекції (наприклад for x in xs
).
Julia дозволяє використовувати найефективнішу стратегію для своїх даних.
Існують спеціальні типи масивів, наприклад, OffsetArrays.jl, які можуть мати довільні індекси.
firstindex
,lastindex
іeachindex
. Ви можете сказати, що Джулія встановлює для вас стандарти ...