Ranges are a more compact representation of vectors with evenly spaced
elements:

julia> xdump(1:5:1000)
StepRange{Int64,Int64}
  start: Int64 1
  step: Int64 5
  stop: Int64 996

i.e. it only uses 3 numbers instead of 200 (for this example).  Anyway,
you should be able to use a range just like any other Vector as long as
you only read from it.  (It is a bug if a function of Julia-Base works
with a Vector but not a Range in a read-only context (please report
it).)

If you need to write to it, you need to convert it to a normal vector
first:
v = collect(1:10)

This does trip up new users though, see e.g. this long thread:
https://groups.google.com/d/msg/julia-users/qPqgJS-usrU/Hu40_tOlDQAJ

On Mon, 2016-02-01 at 01:29, Li ly <lihe...@gmail.com> wrote:
> Hello, fellows,
>
> One question I feel a bit confused is why there is UnitRange/FloatRange
> since we have Array in Julia.
>
> cheers,
>
> Yungui

Reply via email to