# Question about square brackets with for and f.() calls

**URL:** <https://discourse.julialang.org/t/question-about-square-brackets-with-for-and-f-calls/54389>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [February 1, 2021, 3:47pm UTC](https://discourse.julialang.org/t/question-about-square-brackets-with-for-and-f-calls/54389 "2021-02-01T15:47:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Volodymyr\_Pakholok](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/volodymyr_pakholok/32/21600_2.png) [@Volodymyr\_Pakholok](https://discourse.julialang.org/u/Volodymyr_Pakholok)\
**Post date:** [February 1, 2021, 3:47pm UTC](https://discourse.julialang.org/t/question-about-square-brackets-with-for-and-f-calls/54389/1 "2021-02-01T15:47:42Z")

</div>

Hi there! Who can explain, how it works?  
A = [i + 3\*j for i=0:2, j=1:3]  
f.(A)  
f.(A)

---

<div class="post-metadata">

**Author:** ![Jeff\_Emanuel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeff_emanuel/32/15440_2.png) [@Jeff\_Emanuel](https://discourse.julialang.org/u/Jeff_Emanuel)\
**Post date:** [February 1, 2021, 3:54pm UTC](https://discourse.julialang.org/t/question-about-square-brackets-with-for-and-f-calls/54389/2 "2021-02-01T15:54:49Z")

</div>

[https://docs.julialang.org/en/v1/manual/arrays/#man-comprehensions](https://docs.julialang.org/en/v1/manual/arrays/#man-comprehensions)

[https://docs.julialang.org/en/v1/manual/arrays/#Broadcasting](https://docs.julialang.org/en/v1/manual/arrays/#Broadcasting)

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [February 1, 2021, 3:55pm UTC](https://discourse.julialang.org/t/question-about-square-brackets-with-for-and-f-calls/54389/3 "2021-02-01T15:55:09Z")

</div>

Welcome @Volodymyr_Pakholok !

You see here what is called a comprehension:

```julia
[i + 3*j for i=0:2, j=1:3]

```

[https://docs.julialang.org/en/v1/manual/arrays/#man-comprehensions](https://docs.julialang.org/en/v1/manual/arrays/#man-comprehensions)

It creates an array, here a 2 dimensional Array, because of two index variables i and j. An easier example in the 1-dim case would be:

```julia
julia> [i+1 for i=0:2]
3-element Array{Int64,1}:
 1
 2
 3

```

Than

```julia
f.(A)

```

is a function call for every element of your Array A, means: for every element in A the function f is called and a new Array of equal size and dimension with the result values is returned.

It’s called Dot-syntax:  
[https://docs.julialang.org/en/v1/manual/functions/#man-vectorized](https://docs.julialang.org/en/v1/manual/functions/#man-vectorized)  
which is equivalent broadcasting:  
[https://docs.julialang.org/en/v1/manual/arrays/#Broadcasting](https://docs.julialang.org/en/v1/manual/arrays/#Broadcasting)  
(edited cause of ninja’d by @Jeff_Emanuel 🙂 )
