, son
Array
= > son::Array{Chain,1}
.
type Chain
value::Int
son::Array{Chain,1}
Chain(value::Int) = (chain = new(); chain.value = value; chain.son = [chain]; chain)
end
julia> c=Chain(5)
Chain(5,[Chain(
julia> d=Chain(2)
Chain(2,[Chain(
julia> e=Chain(1)
Chain(1,[Chain(
julia> c.son = [d]
1-element Array{Chain,1}:
Chain(2,[Chain(
julia> son = d.son
1-element Array{Chain,1}:
Chain(2,[Chain(
julia> son[:] = e
Chain(1,[Chain(
julia> c
Chain(5,[Chain(2,[Chain(1,[Chain(
, , son = d.son
son = e
, .
# NOT using array type
julia> son = d.son
Chain(2,Chain(#= circular reference =#))
julia> son = e
Chain(1,Chain(#= circular reference =#))
julia> son === d.son
false
# using array type
julia> son = d.son
1-element Array{Chain,1}:
Chain(2,[Chain(#= circular reference =#)])
julia> son[:] = e
Chain(1,[Chain(#= circular reference =#)])
julia> son === d.son
true
, . .