arrays - Julia 中的未初始化数组

标签 arrays julia

假设我在 Julia 中有一个复合类型的数组。我知道我不能简单地将值分配到数组中,因为它的元素是未定义的。例如代码

type struct
  u::Int64
  v::Int64
end

X = Array(struct, 100)
X[10].u = 3

会产生这个错误:
ERROR: access to undefined reference
 in getindex at array.jl:277
 in include at boot.jl:238
 in include_from_node1 at loading.jl:114

处理这个问题的标准方法是什么?现在我只是在做类似的事情:
samples = Array(Sample1d, num_samples)
fill!(samples, Sample1d(0, 0, 0))
samples[i] = ...

有没有更简洁或朱利安的方式来做到这一点?

最佳答案

您可以使用 fill同时创建和填充数组:

type struct
  u::Int
  v::Int
end

struct() = struct(0, 0)
X = fill(struct(), 100)
X[10].u = 3

关于arrays - Julia 中的未初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24416925/

相关文章:

javascript - 使用 Javascript 循环将 Leaflet GeoJSON 层从 GeoServer 添加到数组

javascript - 如何创建一维和二维数组以及如何在 Protractor 中初始化具有特定数组大小的数组?

python - 在没有任何装饰的 Firefox 窗口中打开 jupyter

performance - fun(n::Integer) 和 fun(n::T) 其中 T<:Integer 在性能/代码生成方面有区别吗?

julia - 为什么 Julia 中有 "clamp"、 "clamp."和 "clamp!"?

C:传递二维整数数组

c# - 从 PropertyInfo 获取 byte[] 返回 NULL

java - 如何在java中获取二维数组列表的最大值/最小值

performance - Julia - CartesianIndices 的性能

julia - 从文件中读取输入的更简单方法