gpt4 book ai didi

julia - 更改 Julia 中结构体字段值的数组

转载 作者:行者123 更新时间:2023-12-03 20:25:47 24 4
gpt4 key购买 nike

假设我想定义以下对象

mutable struct Coord
x::Float
y::Float
end

并创建一个坐标向量
coordVec = Vector{Coord}(undef, 3)

通过使用for循环,我们可以定义 coordVec中的坐标值。 ,但如何分配坐标的新值?我尝试以下方式但不起作用
coordVec[1].x = 3.1
(p->p.x).(coordVec)[1] = 3.1

最佳答案

问题是你的数组 coordVec未初始化,因为您使用了 undef构造数组,这意味着它的值是未定义的:

julia> coordVec = Vector{Coord}(undef, 3)
3-element Array{Coord,1}:
#undef
#undef
#undef

因此您无法更新字段。如果你把 Coord您可以按预期更新数组中的对象:
julia> coordVec[2] = Coord(1, 2)
Coord(1.0, 2.0)

julia> coordVec[2].x = 3.0
3.0

julia> coordVec
3-element Array{Coord,1}:
#undef
Coord(3.0, 2.0)
#undef

关于julia - 更改 Julia 中结构体字段值的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61525757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com