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

时间:2018-09-13 18:30:01

标签: arrays julia

看了一段时间之后,我刚刚安装了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数组,出了什么问题以及如何解决?

1 个答案:

答案 0 :(得分:5)

从茱莉亚v0.7获取未初始化数组的途中,是Array{Float64, 2}(undef, 2, 2)(请注意undef)。

例如,可以使用fill(0., 2, 2)获得预初始化的数组。

(我想您的问题是由阅读旧版本的文档引起的。)