看了一段时间之后,我刚刚安装了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的精神背道而驰,但google没有产生任何结果,这毕竟是从文档中粘贴的示例副本。
底线问题:我想要一个普通的旧2d数组,出了什么问题以及如何解决?
答案 0 :(得分:5)
从茱莉亚v0.7获取未初始化数组的途中,是Array{Float64, 2}(undef, 2, 2)
(请注意undef
)。
例如,可以使用fill(0., 2, 2)
获得预初始化的数组。
(我想您的问题是由阅读旧版本的文档引起的。)