在Julia(0.3.0-rc1)中,当我使用复合类型的实例填充数组并更新单个实例的成员时,数组中的所有实例都会被更新。如果这是预期行为,那么我应该如何仅更改数组中的单个元素的值?
相关代码:
我期望看到的是
相关代码:
type Foo
x :: Int
y :: Int
end
arr = fill(Foo(2, 4), 3)
arr[2].x = 5
我期望看到的是
[Foo(2, 4), Foo(5, 4), Foo(2, 4)]
,但实际上我得到了 [Foo(5, 4), Foo(5, 4), Foo(5, 4)]
。我做错什么了吗?我是否应该像这样始终更新整个元素 arr[2] = Foo(5, 4)
(这将得到期望的结果)?TIA.