在 Julia 中将基于 1 的数组转换为基于 0 的数组

Nat*_*iel 4 julia

我正在编写一些数字代码,其中使用基于 0 的索引比使用 Julia 的默认基于 1 的索引更方便。Julia 确实支持基于 0 的索引,但它的文档直接针对开发人员,所以我对如何使用它有点困惑。

具体来说:如果我打电话,rand(10,10)我会得到一个索引从 1 到 10 的 10x10 数组。是否有一个简单的等效命令将返回一个索引从 0 到 9 的数组?或者,我可以轻松地将其转换为基于 0 的数组而不是基于 1 的数组吗?

Nat*_*iel 5

我发布了一个自我回答,因为这个问题是由 Bogumi 回答的?Kami?ski 在评论中。

有一些用户级别的文档在这里,虽然在写它的时间比较短,由完全的例子,所以一个个有来推断预期的语义和最佳做法的猜测。

但是,似乎命令

OffsetArray(rand(10,10),0:9,0:9)

达到了我的要求,Bogumi?Kami?ski 确认这是正确的方法,因此可以猜测这不会不必要地复制数组等。

人们希望在某个时候能够编写一些适当的文档,因为这是一项非常重要的功能。(人们希望这是 Julia 的许多重要功能。)