Julia缺少数组构造函数?

Rar*_*ima 3 arrays 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
Run Code Online (Sandbox Code Playgroud)

我意识到这是一个愚蠢的问题,它可能很好地反对SO的精神,但谷歌没有产生任何结果,这毕竟是从文档粘贴的示例副本.

底线问题:我想要一个普通的旧2D阵列,出了什么问题以及如何解决?

crs*_*nbr 5

从Julia v0.7开始获取未初始化数组的方法是Array{Float64, 2}(undef, 2, 2)(注意undef).

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

(我想你的问题来自阅读旧版本的文档.)

  • 它还明确表示数组未初始化:之前有些人遇到错误或意外结果,因为他们预计它会被填零. (3认同)
  • 我们的想法是,我们将来会实现更多这样的数组构造函数,其中第一个参数总是决定内容. (2认同)