2017-11-07 18 views
1

juliaで配列を含む配列をどのように宣言しますか?オンザフライで配列を初期化する配列

私は(もちろん)のInt32の空の配列を作成しますが、私は

rsは整数で
if ... 
    push!(a, [r,s]) # (*) 
... 

のようなフライ何かに構築するために、後でたいa=Int32[]を持っています。私はa=Int32[Int32[]]を試しましたが、(*)を実行しても機能しません。私はaの特定の形状を持っていないので、この制限なしに宣言する必要があります。

答えて

9

は、要素タイプがInt32VectorであるVector{Int32}を作成します。要素タイプがVector{Int32}Vectorが必要なので、Vector{Vector{Int32}}()またはVector{Int32}[]を使用できます。 Vector{T}Array{T,1}の別名です。要素タイプがTで次元が1のArrayであるため、Juliaがタイプを印刷するときにはVectorという単語は使用されません。

julia> v=Vector{Vector{Int32}}() 
0-element Array{Array{Int32,1},1} 

julia> push!(v,[1,2,3]) 
1-element Array{Array{Int32,1},1}: 
Int32[1, 2, 3] 

または

julia> x=Vector{Int32}[] 
0-element Array{Array{Int32,1},1} 

julia> push!(x,[4,5,6]) 
1-element Array{Array{Int32,1},1}: 
Int32[4, 5, 6]