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?
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.
firstindex
,lastindex
ieachindex
. Można powiedzieć, że Julia ustanawia dla ciebie standardy ...Istnieją specjalne typy tablic, takie jak na przykład OffsetArrays.jl, które mogą mieć dowolne indeksy.
źródło