我对julia中修改名称指引和赋值的区别,以及如何通过函数改变全局变量有些困惑,以下是个例子:为什么函数2和函数3都无法改变y,只有函数1可以?请高手指点一下,感谢!
x = [2.3, 3.4, 5.6]
y = similar(x)
function change_y1!(x,y)
max_y = 1.3434
y[1] = max_y # 可以改变y的第一个元素
end
function change_y2!(x,y)
y = x # 失败 y = [2.3, 3.4, 5.6] 也不行?
end
function change_y3!(x,y)
y = similar(x) # 为何设定类型后反而不能改y了?
max_y = 1.3434
y[1] = max_y
end