julia看了一会才装上。解释器和一个基本的 hello world 程序可以工作,但是……如果数组构造函数,事情就不太顺利了。
我正在尝试运行文档 A = Array{Float64, 2}(2, 2);
中的基本示例,我得到了这个:
julia> A = Array{Float64, 2}(2, 2);
ERROR: MethodError: no method matching Array{Float64,2}(::Int64, ::Int64)
Closest candidates are:
Array{Float64,2}(::UndefInitializer, ::Int64, ::Int64) where T at boot.jl:396
Array{Float64,2}(::UndefInitializer, ::Int64...) where {T, N} at boot.jl:400
Array{Float64,2}(::UndefInitializer, ::Integer, ::Integer) where T at sysimg.jl:143
...
Stacktrace:
[1] top-level scope at none:0
我意识到这是一个愚蠢的问题,它很可能违背 SO 的精神,但谷歌没有产生任何结果,毕竟这是从文档中粘贴的示例副本。
底线问题:我想要一个普通的旧二维数组,出了什么问题以及如何解决?
最佳答案
从 Julia v0.7 开始,获取未初始化数组的方法是 Array{Float64, 2}(undef, 2, 2)
(注意 undef
)。
要获得预初始化的数组,您可以使用 fill(0., 2, 2)
。
(我猜你的问题是阅读旧版本的文档引起的。)
关于arrays - Julia 缺少数组构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52319801/