我刚刚安装了 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 的精神,但谷歌没有产生任何结果,毕竟这是一个从文档中粘贴的示例副本。
底线问题:我想要一个普通的旧 2D 数组,出了什么问题以及如何修复?
从 Julia v0.7 开始获取未初始化数组的方式是Array{Float64, 2}(undef, 2, 2)
(注意undef
(。
要获得预初始化的数组,例如可以使用fill(0., 2, 2)
.
(我想您的问题源于阅读旧版本的文档。