Julia 中元编程赋值的正确语法是什么?

What is the correct syntax in metaprogramming assignment in Julia?

我想让x取值4;为什么这不起作用?正确的语法是什么?

x=3
y=5

z=[:x; :y]

:(z[1])=4

在 Julia 的 C++ 中等价于 &x,是使用 Ref.

x = Ref(1)
x[]     # get value of x, it's 1
x[] = 2 # set value of x to 2

你想做的是

x = Ref(3)
y = Ref(5)
z = [x, y]
z[1][] = 4

有关详细信息,请参阅文档中有关 Ref 的部分。