Thanks for the great work! Dahua
On Monday, April 20, 2015 at 9:47:13 AM UTC+8, Tim Holy wrote: > > For those of you wanting to write code that will perform well on different > AbstractArray types, starting with julia 0.4 it will be recommended that > you > should typically write > > for i in eachindex(A) > # do something with i and/or A[i] > end > > rather than > > for i = 1:length(A) > # do something with i and/or A[i] > end > > The syntax > > for a in A > # do something with a > end > > is unchanged. > > If you're using julia 0.3, the Compat package (starting with version > 0.4.1) > defines `eachindex(A) = 1:length(A)`, so if you're willing to use Compat > you > can already start using this syntax. > > > This will make a difference, in julia 0.4, when indexing arrays for which > a > single linear index is inefficient---in such cases, `i` will be a > multidimensional index object. You can still say `A[i]`, and it will > likely be > several times faster than if `i` were an integer. In contrast, if `A` is > an > array for which linear indexing is fast, then `eachindex(A) = 1:length(A)` > as > previously. > > You can read more about this in the documentation for multidimensional > arrays > in julia 0.4: > http://docs.julialang.org/en/latest/manual/arrays/ > > This public service announcement has been sponsored by the Department of > Arrays and Array Indexing. > > Best, > --Tim > >
