ここで書かれている通り,JuliaはColumn-major orderで多次元配列を1次元配列に直す.例を出すとこんな感じ.
julia> A=[1 2 3 4 5;6 7 8 9 10] 2×5 Matrix{Int64}: 1 2 3 4 5 6 7 8 9 10 julia> A[:] 10-element Vector{Int64}: 1 6 2 7 3 8 4 9 5 10
これをRow-major orderにしたい.
Iterators.flatten(eachrow(A)) |> collect 10-element Vector{Int64}: 1 2 3 4 5 6 7 8 9 10
これでできました.(...) |> (...)は左の結果を右の第一引数に入れるだけです.なので,
julia> A=[1 2 3 4 5;6 7 8 9 10] 2×5 Matrix{Int64}: 1 2 3 4 5 6 7 8 9 10 julia> _A=eachrow(A) 2-element RowSlices{Matrix{Int64}, Tuple{Base.OneTo{Int64}}, SubArray{Int64, 1, Matrix{Int64}, Tuple{Int64, Base.Slice{Base.OneTo{Int64}}}, true}}: [1, 2, 3, 4, 5] [6, 7, 8, 9, 10] julia> collect(Iterators.flatten(_A)) 10-element Vector{Int64}: 1 2 3 4 5 6 7 8 9 10
も同様の処理となります. ↓参考 docs.julialang.org
追記
↑こちらを見つけ, eachrow()の後のvcat(_A ...)でもできました