# Why can you write \`r\[1\]\` if \`r\` is a number?

**URL:** <https://discourse.julialang.org/t/why-can-you-write-r-1-if-r-is-a-number/105229>\
**Category:** General Usage\
**Tags:** question\
**Created:** [October 20, 2023, 11:27am UTC](https://discourse.julialang.org/t/why-can-you-write-r-1-if-r-is-a-number/105229 "2023-10-20T11:27:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alseidon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alseidon/32/207775_2.png) [@Alseidon](https://discourse.julialang.org/u/Alseidon)\
**Post date:** [October 20, 2023, 11:27am UTC](https://discourse.julialang.org/t/why-can-you-write-r-1-if-r-is-a-number/105229/1 "2023-10-20T11:27:04Z")

</div>

I encountered an interesting bug [here in OrbitalElements.jl](https://github.com/smcardle14/OrbitalElements.jl/issues/7). Essentially, writing `r[1]` returned `r` because `r` was a number (a Float64 specifically). This also works when writing numbers directly: you can write `42[1]`. `r[:]` doesn’t work however.

I would expect this to result in an error, as it is most likely a programming error, and can’t see cases where it would be useful. Maybe it is consistent with `eachindex(42)` being `Base.OneTo(1)` ?

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [October 20, 2023, 11:31am UTC](https://discourse.julialang.org/t/why-can-you-write-r-1-if-r-is-a-number/105229/2 "2023-10-20T11:31:30Z")

</div>

not only you can do `r[1]`, you can also

```julia
julia> r = 1
1

julia> r[1,1]
1

julia> r[1,1,1]
1

```

see:

[https://docs.julialang.org/en/v1/manual/arrays/#Omitted-and-extra-indices](https://docs.julialang.org/en/v1/manual/arrays/#Omitted-and-extra-indices)

---

<div class="post-metadata">

**Author:** ![nsajko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nsajko/32/221187_2.png) [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Post date:** [October 20, 2023, 11:35am UTC](https://discourse.julialang.org/t/why-can-you-write-r-1-if-r-is-a-number/105229/3 "2023-10-20T11:35:02Z")

</div>

> <https://github.com/JuliaLang/julia/issues/7903>
>
> @StephenVavasis \[has pointed out\](https://groups.google.com/forum/#!topic/julia-…users/g7PBys0\_6Y8) some rather confusing behavior of the \`in\` operator, including:
> 
> \`\`\` jl
> julia\> VERSION
> v"0.3.0-rc2+12"
> 
> julia\> x = IntSet(\[3,5\])
> IntSet(\[3, 5\])
> 
> julia\> in(3,x)
> true
> 
> julia\> in(x,3)
> false
> 
> julia\> in("abc",19)
> false
> 
> julia\> in(19,"abc")
> false
> \`\`\`
> 
> Worse still is this:
> 
> \`\`\` jl
> julia\> 97 in "abc"
> true
> \`\`\`
> 
> This issue is to discuss what, if anything, we can do to reduce some of this confusion.

---

<div class="post-metadata">

**Author:** ![Alseidon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alseidon/32/207775_2.png) [@Alseidon](https://discourse.julialang.org/u/Alseidon)\
**Post date:** [October 20, 2023, 12:56pm UTC](https://discourse.julialang.org/t/why-can-you-write-r-1-if-r-is-a-number/105229/4 "2023-10-20T12:56:40Z")

</div>

Thanks for pointing out this discussion! So this goes deeper than what I thought.

---

<div class="post-metadata">

**Author:** ![StevenSiew](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevensiew/32/218393_2.png) [@StevenSiew](https://discourse.julialang.org/u/StevenSiew)\
**Post date:** [October 20, 2023, 7:55pm UTC](https://discourse.julialang.org/t/why-can-you-write-r-1-if-r-is-a-number/105229/5 "2023-10-20T19:55:57Z")

</div>

You can even do this

```julia
julia> r=1
1

julia> for k in r
       println(k)
       end
1

```
