# Use square brackets \[\] for indexing an Array

**URL:** <https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587>\
**Category:** New to Julia\
**Created:** [January 13, 2019, 11:51am UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587 "2019-01-13T11:51:18Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [January 13, 2019, 11:51am UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587/1 "2019-01-13T11:51:18Z")

</div>

If I call a function, I get the following errors:

**Bspln = Bspline(p,knot,t[it])**

MethodError: objects of type Array{Float64,2} are not callable  
Use square brackets for indexing an Array.

Stacktrace:  
[1] Bspline(::Int64, ::Array{Float64,2}, ::Float64) at ./In[2]:13  
[2] top-level scope at ./In[6]:16

function Bspline(p,knot,t)

nb=size(knot,2)-p-1  
Bspln=zeros(nb,p+1)

for ip=0:p  
for i=1:(nb-ip)  
Bspln[i,ip+1]=0  
end  
end

return (Bspln)  
end

p=3  
knot=[-1 -1 -1 -1 0 1 1 1 1]  
knot=[knot ones(1,p)]  
nb=size(knot,2)-p-1  
ndt=10 # t steps  
t1=minimum(knot)  
t2=maximum(knot)  
t=t1:(t2-t1)/ndt:t2  
nt=size(t,1)  
y=zeros(nb,p+1,nt)  
for it=1:nt  
Bspln = Bspline(p,knot,t[it])  
end

---

<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:** [January 13, 2019, 11:53am UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587/2 "2019-01-13T11:53:16Z")

</div>

Please quote your code and a provide a self-contained example.

> [@Please read: make it easier to help you](https://discourse.julialang.org/t/psa-make-it-easier-to-help-you/14757):
>
> Welcome to the Julia Discourse! We are enthusiastic about helping Julia programmers, both beginner and experienced. This public service announcement (PSA) outlines best practices when asking for help. Following these points makes it easier for us to help you and more likely you’ll get a prompt, useful answer. Keywords are highlighted to make it easier to refer to specific points. Choose a descriptive title that captures the key part of your question, eg “plots with multiple axes” instead of …

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [January 13, 2019, 11:56am UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587/3 "2019-01-13T11:56:29Z")

</div>

> function Bspline(p,knot,t)
> 
> nb=size(knot,2)-p-1  
> Bspln=zeros(nb,p+1)
> 
> for ip=0:p  
> for i=1:(nb-ip)  
> Bspln[i,ip+1]=0  
> end  
> end
> 
> return (Bspln)  
> end

> p=3  
> knot=[-1 -1 -1 -1 0 1 1 1 1]  
> knot=[knot ones(1,p)]  
> nb=size(knot,2)-p-1  
> ndt=10 # t steps  
> t1=minimum(knot)  
> t2=maximum(knot)  
> t=t1:(t2-t1)/ndt:t2  
> nt=size(t,1)  
> y=zeros(nb,p+1,nt)  
> for it=1:nt  
> Bspln = Bspline(p,knot,t[it])  
> end

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [January 13, 2019, 12:04pm UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587/4 "2019-01-13T12:04:42Z")

</div>

Something went wrong when you quoted your code. There should be a preview pane to the right of your input pane that will show you whether you did it correctly.

You should use triple backticks for quoting. Looks like you used something else.

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [January 13, 2019, 12:06pm UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587/5 "2019-01-13T12:06:39Z")

</div>

now It looks better???

---

<div class="post-metadata">

**Author:** ![Seif\_Shebl](https://avatars.discourse-cdn.com/v4/letter/s/eada6e/32.png) [@Seif\_Shebl](https://discourse.julialang.org/u/Seif_Shebl)\
**Post date:** [January 13, 2019, 12:07pm UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587/6 "2019-01-13T12:07:26Z")

</div>

Please use three back-tics like this ``` to quote your code.

The following gives no errors, please copy paste and report back if you get errors.

```julia
function Bspline(p,knot,t)
    nb = size(knot,2)-p-1
    Bspln = zeros(nb,p+1)
    for ip = 0:p
        for i = 1:(nb-ip)
            Bspln[i,ip+1] = 0
        end
    end
    return Bspln
end

p = 3
knot = [-1 -1 -1 -1 0 1 1 1 1]
knot = [knot ones(1,p)]
nb = size(knot,2)-p-1
ndt = 10 # t steps
t1 = minimum(knot)
t2 = maximum(knot)
t = t1:(t2-t1)/ndt:t2
nt = size(t,1)
y = zeros(nb,p+1,nt)
for it = 1:nt
    Bspln = Bspline(p,knot,t[it])
end

```

---

<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:** [January 13, 2019, 12:09pm UTC](https://discourse.julialang.org/t/use-square-brackets-for-indexing-an-array/19587/7 "2019-01-13T12:09:31Z")

</div>

This errors with `it` not being defined. Correcting to `ait`, it runs.
