Який сенс 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.