Julia中的firstindex有什么作用?

45

根据文档,firstindex()函数能够找到一个集合的第一个索引。为什么不能直接使用1呢?在什么情况下不能使用1?

2个回答

51
第一个索引值不一定是1,因为Julia支持自定义索引。要理解它为什么有用,你可以参考Tim Holy的博客文章自定义索引允许你在索引模式中编码关于你的数据的信息:有时从1开始计数更自然,有时从0开始计数更自然,有时从某个更任意的数字开始计数更自然。
在其他情况下,比如当你编写通用算法时,你并不真正关心特定的索引。这时,你可以使用抽象概念,如firstindexlastindexeachindex
大多数情况下,最好避免引用索引,只需迭代集合的元素(例如,for x in xs)。
Julia允许你为你的数据使用最有效的策略。

在某些情况下,您可以使用 firstindexlastindexeachindex 等抽象概念。你可以说Julia 为你设定标准... - Vector Sigma
1
你能否添加firstindex()、lastindex()和eachindex()的文档链接? - Peter Mortensen

16

有特殊的数组类型,例如OffsetArrays.jl,可以具有任意索引。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接