我已经尝试调试和解决一些代码,这是我的下一个障碍。
ERROR: LoadError: MethodError: no method matching Array(::Type{Int64}, ::Int64)
Closest candidates are:
Array(::LinearAlgebra.UniformScaling, ::Integer, ::Integer) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LinearAlgebra\src\uniformscaling.jl:345
我仔细阅读了所提供的资料,看起来数组定义可能已更改为使用arr
或Array{Int64,0}
……但这些似乎对我也不起作用。有什么建议吗?预先谢谢你!
# Puts the output of one lineup into a format that will be used later
if status==:Optimal
data_lineup_copy = Array(Int64, 0)
for i=1:num_data
if getValue(data_lineup[i]) >= 0.9 && getValue(data_lineup[i]) <= 1.1
data_lineup_copy = vcat(data_lineup_copy, fill(1,1))
else
data_lineup_copy = vcat(data_lineup_copy, fill(0,1))
end
end
for i=1:num_shot
if getValue(shot_lineup[i]) >= 0.9 && getValue(shot_lineup[i]) <= 1.1
data_lineup_copy = vcat(data_lineup_copy, fill(1,1))
else
data_lineup_copy = vcat(data_lineup_copy, fill(0,1))
end
end
return(data_lineup_copy)
end
end
data1 = Array(Int64, 0)
data2 = Array(Int64, 0)
data3 = Array(Int64, 0)
答案 0 :(得分:1)
Array(Int64, 0)
将在较旧的版本(可能是0.6年前的时代)上创建一个空的Int64
一维数组(即Vector
)。
现在,要创建一个空的Int64
一维数组,您可以使用以下任何一种方法
data1 = Array{Int64, 1}(undef, 0) # where `1`, the second type parameter is for the dimension
data1 = Array{Int64}(undef, 0)
data1 = Vector{Int64}(undef, 0)
data1 = Vector{Int64}()
data1 = Int64[]
您始终可以通过Julia的array construction的不同方式查阅官方文档。