# Opaque code - pascal's triangle

**URL:** <https://discourse.julialang.org/t/opaque-code-pascals-triangle/73949>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [January 3, 2022, 12:27am UTC](https://discourse.julialang.org/t/opaque-code-pascals-triangle/73949 "2022-01-03T00:27:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jonoke](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@jonoke](https://discourse.julialang.org/u/jonoke)\
**Post date:** [January 3, 2022, 12:27am UTC](https://discourse.julialang.org/t/opaque-code-pascals-triangle/73949/1 "2022-01-03T00:27:14Z")

</div>

I saw this solution to pascal’s triangle on exercism and have no idea what the last line (push!(…)) is doing - could someone please explain - or translate the code into english?

```julia
function triangle(n::Int)
    n<0 && throw(DomainError("Negative row"))
    n==0 && return []
    n==1 && return [[1]]
    t=triangle(n-1)
    push!(t, [t[end];0]+[0;t[end]])
end

```

---

<div class="post-metadata">

**Author:** ![jonoke](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@jonoke](https://discourse.julialang.org/u/jonoke)\
**Post date:** [January 3, 2022, 12:55am UTC](https://discourse.julialang.org/t/opaque-code-pascals-triangle/73949/2 "2022-01-03T00:55:19Z")

</div>

Hmm … of course I worked it out now

[[1, 2]; 0 ] == [[1, 2, 0] ]  
[0; [1, 2] ] == [[0, 1, 2] ]
