gpt4 book ai didi

julia - 错误 : setfield! 不能在 Julia 中更改不可变结构

转载 作者:行者123 更新时间:2023-12-04 09:24:28 24 4
gpt4 key购买 nike

我正在更新一些旧代码,但现在出现错误:ERROR: setfield! immutable struct cannot be changed in Julia当我尝试更改不可变结构的值时。是否有一个常见的解决方法来编辑/改变这些值(这可能是一个相当愚蠢的问题,因为该类型是明确不可变的,因此尝试更改它通常不是一个好主意)。

最佳答案

据我所知,即使您获得指向它们的内存指针并尝试使用 ccal,也无法安全地操作不可变对象(immutable对象)。 .
但是,作为一种不完美的解决方法,您可以考虑使用 Setfield包如下例所示。

using Setfield
struct S
a::Int
b::String
end
使用:
julia> s = S(2, "hello")
S(2, "hello")

julia> s = @set s.a = 5
S(5, "hello")
请注意,在许多情况下,这可能比实际将 S 类型更改为 mutable 更快。 .

关于julia - 错误 : setfield! 不能在 Julia 中更改不可变结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63044783/

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