## Ranges and arrays

Ranges come in handy when you have to work with an interval of numbers, for example, one up to thousand: `1:1000`

. The type of this object, `typeof(1:1000)`

, is `UnitRange{Int64}`

. By default, the step is `1`

, but this can also be specified as the second number; `0:5:100`

gives all multiples of `5`

up to `100`

. You can iterate over a range, as follows:

```
# code from file chapter2\arrays.jl
```**for i in 1:2:9**
println(i)
end

This prints out `1`

, `3`

, `5`

, `7`

, `9`

on consecutive lines.

In the previous section on *Strings*, we already encountered the array type when discussing the `split`

function:

a = split("A,B,C,D",",")typeof(a) #> Array{SubString{String},1}show(a) #> SubString{String}["A","B","C","D"]

Julia's arrays are very efficient, powerful, and flexible. The general type format for an array is `Array{Type, n}`

, with `n`

number of dimensions (we will discuss multidimensional arrays or matrices in Chapter 6, *More on Types, Methods, and Modules*). As with the complex type, we can see that the`Array...`