Quel est l'intérêt de firstindex dans Julia?

36

D'après la documentation, il indique que firstindex () trouve le premier index d'une collection. Pourquoi ne pas simplement utiliser 1? Quel pourrait être le cas quand ce n'est pas 1?

Alexey Petrushin
la source

Réponses:

47

Le premier index n'est pas nécessairement 1 car Julia prend en charge l' indexation personnalisée . Pour comprendre pourquoi il est utile, vous ne pouvez pas battre le blog de Tim Holy .

Les index personnalisés vous permettent de coder des informations sur vos données dans le modèle d'indexation lui - même : parfois, il est plus naturel de commencer à compter à partir de un, parfois de zéro, parfois d'un nombre plus arbitraire.

D'autres fois, comme lorsque vous écrivez des algorithmes génériques, vous ne vous souciez pas vraiment de l'index spécifique. Dans ce cas , vous pouvez utiliser des abstractions telles que firstindex, lastindexet eachindex.

Le plus souvent, il vaut mieux éviter de se référer à un index tout à fait et simplement itérer sur les éléments d'une collection (par exemple for x in xs).

Julia vous permet d'utiliser la stratégie la plus efficace pour vos données.

David Varela
la source
"Dans ce cas, vous pouvez utiliser des abstractions telles que firstindex,, lastindexet eachindex. Vous pourriez dire que Julia définit les normes pour vous ...
Vector Sigma
1
Pouvez-vous ajouter des liens vers la documentation de firstindex (), lastindex () et eachindex ()?
Peter Mortensen
14

Il existe des types de tableaux spéciaux comme par exemple OffsetArrays.jl qui peuvent avoir des indices arbitraires.

crstnbr
la source