朱莉娅缺少数组构造函数?



我刚刚安装了 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).

(我想您的问题源于阅读旧版本的文档。

最新更新