fillは shallow copy (浅いコピー)作るので危険

めちゃハマったのでメモ。

julia> mutable struct Hoge
           x::Int
       end

julia> xs = fill(Hoge(10), 2)
2-element Array{Hoge,1}:
 Hoge(10)
 Hoge(10)

julia> xs[1].x = 333
333

julia> xs[2].x
333

内包表現(でいいのか?)使うならおk。

julia> xs = [Hoge(10) for _ in 1:2]
2-element Array{Hoge,1}:
 Hoge(10)
 Hoge(10)

julia> xs[1].x = 333
333

julia> xs[2].x
10