我已经创建了自己的类型:访问二维数组
type T
name
pos
end
我想要做的就是创建这种类型的二维数组。这就是我做的:
arr = Array{T}(10,10) #create 2d Array
这创建了2d数组(10乘10),所有元素都是未定义的。 (IM想我的问题是在这里)
所以,当我尝试了数组的一个元素改变
arr[1,1].name = "Hi"
我得到这个错误: ERROR:UndefRefError:访问未定义的参考
什么我试图解决这个问题的方法是创建一个T的默认实例并遍历数组,并将每个元素设置为默认值。
default = T("Hi",1)
for i = 1:10
for j = 1:10
arr[i,j] = default
end
end
现在,这将数组默认值中的每个元素成功地,但现在的问题是,如果我试图改变只是一个数组的元素的值,数组的每一个元素变为那个价值。
arr[2,4].name ="Hello"
在该行之后,所有元素的值都是“Hello”。
这不是你应该如何改变数组中的值吗?当我在Int64二维数组上做同样的工作时,我所期望的一切都是如此。
下面是它的外观截图:http://imgur.com/FUE4eab – CVasquezG