aşağıdaki çalışır:Julia: Neden parametrik türlerin dış kurucuları olmalı?
type TypeA
x :: Array
y :: Int
TypeA(x :: Array) = new(x, 2)
end
julia> y = TypeA([1,2,3])
TypeA([1,2,3],2)
Bu değildir: çalışmak için ikinci davayı almak için
type TypeB{S}
x :: Array{S}
y :: Int
TypeB{S}(x:: Array{S}) = new(x,2)
end
julia> y = TypeB([1,2,3])
ERROR: `TypeB{S}` has no method matching TypeB{S}(::Array{Int64,1})
, tek tip beyanının dışında yapıcı ilan etmek vardır. Bu hafif istenmeyen bir durumdur. Benim sorum, bu sorunun bir Julia-tasarım bakış açısından var neden bu yüzden Julia tipi sistemi hakkında daha iyi bir neden olabilir.
Teşekkür ederiz.