実際、Juliaが明示的に定義していない場合は、常にデフォルトの内部コンストラクタが自動的に定義されます。 、MyArray = Array{MyType}(5)
を実行して、あなただけのeltype
MyType
をする必要があります5要素の配列を構築
julia> struct MyType
a::Int64
b::Int64
MyType(a,b) = new(a,b)
end
注:それはと同等です。ジュリアはまだそれらのエントリが何であるかを知らない、それはエラーが不平を言っていることです。 次の例を見てみましょう:a
はタイプInt
、ないVector{Int}
であるため
julia> a = Array{Complex}(5)
5-element Array{Complex{T<:Real},1}:
#undef
#undef
#undef
#undef
#undef
ところで、私は、あなたがこの行MyArray[1].a = [1 2 3]
をどうする何を意味するのか分かりません。あなたが配列の最初の要素が定義されていないため
MyArray[1] = MyType(4, 5)
のようなものを書くようになった