# Wrong type returned by range in 2-dims case?

**URL:** <https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736>\
**Category:** General Usage\
**Tags:** question, bug\
**Created:** [August 20, 2019, 2:13am UTC](https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736 "2019-08-20T02:13:52Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![szcf-weiya](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/szcf-weiya/32/5042_2.png) [@szcf-weiya](https://discourse.julialang.org/u/szcf-weiya)\
**Post date:** [August 20, 2019, 2:13am UTC](https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736/1 "2019-08-20T02:13:52Z")

</div>

When I tried the following command to generate 2-dims linspace arrays, whose type should be `Float`, not `Int`

```julia
r = range([1,1],[8,9],length=10)
# 10-element LinRange{Array{Int64,1}}:
# [1.0, 1.0],[1.77778, 1.88889],[2.55556, 2.77778],…,[7.22222, 8.11111],[8.0, 9.0]

```

and when I access `r[2]`, it throws

> ERROR: InexactError: Int64(1.7777777777777777)

But the `LinRange` works well,

```julia
lr = LinRange([1,1],[8,9],10)
# 10-element LinRange{Array{Float64,1}}:
# [1.0, 1.0],[1.77778, 1.88889],[2.55556, 2.77778],…,[7.22222, 8.11111],[8.0, 9.0]

```

So I am wondering if this is a possible bug returned by `range` in 2-dims case.

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [August 20, 2019, 2:37am UTC](https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736/2 "2019-08-20T02:37:47Z")

</div>

You told `range` to use `Ints`.

> 10-element LinRange{Array{Int64,1}}:

Do this instead.

```julia

julia> r = range([1.0,1.0],[8.0,9.0],length=10)
10-element LinRange{Array{Float64,1}}:
 [1.0, 1.0],[1.77778, 1.88889],[2.55556, 2.77778],…,[6.44444, 7.22222],[7.22222, 8.11111],[8.0, 9.0]

julia> r[3]
2-element Array{Float64,1}:
 2.5555555555555554
 2.7777777777777777

```

---

<div class="post-metadata">

**Author:** ![szcf-weiya](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/szcf-weiya/32/5042_2.png) [@szcf-weiya](https://discourse.julialang.org/u/szcf-weiya)\
**Post date:** [August 20, 2019, 2:40am UTC](https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736/3 "2019-08-20T02:40:25Z")

</div>

Thank you for your response. Actually, I have tried that way. But I am curious about the different behaviors of `range` and `LinRange`.

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [August 20, 2019, 3:31am UTC](https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736/4 "2019-08-20T03:31:31Z")

</div>

always good to start with the docs  
[https://docs.julialang.org/en/v1.2-dev/base/collections/#Base.LinRange](https://docs.julialang.org/en/v1.2-dev/base/collections/#Base.LinRange)  
[https://docs.julialang.org/en/v1.2-dev/base/math/#Base.range](https://docs.julialang.org/en/v1.2-dev/base/math/#Base.range)

---

<div class="post-metadata">

**Author:** ![szcf-weiya](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/szcf-weiya/32/5042_2.png) [@szcf-weiya](https://discourse.julialang.org/u/szcf-weiya)\
**Post date:** [August 20, 2019, 10:45am UTC](https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736/5 "2019-08-20T10:45:21Z")

</div>

Thank you for your advice.

Actually, because I know that for 1-dim case, `range(1, 8, length=10)` would not be restricted to `Int`, and it is OK to access the second Float element. But for 2-dim case, it fails. So I am a little confused.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [August 20, 2019, 10:53am UTC](https://discourse.julialang.org/t/wrong-type-returned-by-range-in-2-dims-case/27736/6 "2019-08-20T10:53:07Z")

</div>

I am not sure `range` was intended to work with non-scalar arguments.
