Який сенс firstindex у Джулії?


36

З документації сказано, що firstindex () знаходить перший індекс колекції. Чому б просто не використовувати 1? Що може бути у випадку, коли це не 1?

Відповіді:


47

Перший індекс не обов'язково 1, оскільки Джулія підтримує власну індексацію . Щоб зрозуміти, чому це корисно, ви не можете перемогти публікацію в блозі Тіма Холі .

Спеціальні індекси дозволяють кодувати інформацію про ваші дані в самій схемі індексації : іноді більш природно починати рахувати з одного, іноді з нуля, іноді з якогось більш довільного числа.

В інших випадках, наприклад, коли ви пишете загальні алгоритми, вам не дуже важливий конкретний індекс. В цьому випадку ви можете використовувати такі абстракції , як firstindex, lastindex, і eachindex.

Найчастіше краще взагалі уникати посилань на індекс і просто перебирати елементи колекції (наприклад for x in xs).

Julia дозволяє використовувати найефективнішу стратегію для своїх даних.


"У цьому випадку ви можете використовувати такі абстракції, як firstindex, lastindexі eachindex. Ви можете сказати, що Джулія встановлює для вас стандарти ...
— Vector Sigma

1
Чи можете ви додати посилання на документацію для firstindex (), lastindex () та everyindex ()?
— Пітер Мортенсен

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.