Z dokumentacji wynika, że firstindex () znajduje pierwszy indeks kolekcji. Dlaczego nie użyć 1? Co może być, gdy nie jest to 1?
Z dokumentacji wynika, że firstindex () znajduje pierwszy indeks kolekcji. Dlaczego nie użyć 1? Co może być, gdy nie jest to 1?
Odpowiedzi:
Pierwszy indeks niekoniecznie ma wartość 1, ponieważ Julia obsługuje indeksowanie niestandardowe . Aby zrozumieć, dlaczego jest to przydatne, nie możesz pobić postu Tima Holy na blogu .
Niestandardowe indeksy pozwalają na kodowanie informacji o twoich danych w samym wzorcu indeksowania : czasami bardziej naturalne jest rozpoczęcie liczenia od jednego, czasem od zera, a czasem od bardziej dowolnej liczby.
Innym razem, na przykład podczas pisania ogólnych algorytmów, tak naprawdę nie zależy ci na konkretnym indeksie. W takim przypadku można użyć abstrakcje takie jak firstindex
, lastindex
i eachindex
.
Najczęściej lepiej unikać całkowitego odwoływania się do indeksu i po prostu iterować elementy kolekcji (np for x in xs
.).
Julia pozwala Ci stosować najbardziej efektywną strategię dla twoich danych.
Istnieją specjalne typy tablic, takie jak na przykład OffsetArrays.jl, które mogą mieć dowolne indeksy.
firstindex
,lastindex
ieachindex
. Można powiedzieć, że Julia ustanawia dla ciebie standardy ...