Arrays 为什么';t Julia 1.0中的以下数组初始化工作
我试图绘制一系列复杂的等高线,并尝试以下操作:Arrays 为什么';t Julia 1.0中的以下数组初始化工作,arrays,size,julia,variable-declaration,Arrays,Size,Julia,Variable Declaration,我试图绘制一系列复杂的等高线,并尝试以下操作: ax_matrix = Array{Union{Int,Float64},2}(length(iters),length(bx)); 其中,iter和bx是一维阵列。这给了我以下错误: LoadError: MethodError: no method matching Array{Union{Float64,Int64},2}(::Int64,::Int64) Closest candidates are: Array{Union{Floa
ax_matrix = Array{Union{Int,Float64},2}(length(iters),length(bx));
其中,iter
和bx
是一维阵列。这给了我以下错误:
LoadError: MethodError: no method matching Array{Union{Float64,Int64},2}(::Int64,::Int64)
Closest candidates are:
Array{Union{Float64, Int64},2}(::UndefInitializer, ::Int64, ::Int64) where T at boot.jl:396
Array{Union{Float64, Int64},2}(::UndefInitializer, ::Int64...) where {T, N} at boot.jl:400
Array{Union{Float64, Int64},2}(::UndefInitializer, ::Integer, ::Integer) where T at sysimg.jl:143
似乎我丢失了并且
::UndefInitializer
-类型参数,但它到底是什么?您将其拼写为undef
,如下所示:
julia> Array{Union{Int,Float64},2}(undef, 5, 5)
5×5 Array{Union{Float64, Int64},2}:
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
您也可以编写(但这是冗长的,因此引入了fist选项):
将其拼写为
unde
,如下所示:
julia> Array{Union{Int,Float64},2}(undef, 5, 5)
5×5 Array{Union{Float64, Int64},2}:
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
您也可以编写(但这是冗长的,因此引入了fist选项):
可能需要补充的是,它与
联合
或类似的东西无关,而只是v1中一般未初始化数组的构造方式。可能需要补充的是,它与联合
或类似的东西无关,而只是v1中一般未初始化数组的构造方式。