我正在 Julia 中编写代码,该代码从函数中收集一些输出foo
(它会改变其输入参数),并且我试图将来自该函数的递归评估附加到一个数组A
中。
例如,通过添加到其每个元素来foo!(x)
更改 的值。x
1
function foo!(x)
x .= x .+ 1
return(x)
end
julia> x = [1, 1];
julia> foo!(x);
julia> x
2-element Array{Int64,1}:
2
2
我想创建一个数组A
来存储x = f(x)
超过固定范围的值。但是,A
最终只会包含 的最终值的多个副本f(x)
,例如,
julia> x = [1, 1];
julia> A = [x];
julia> for i=1:3
push!(A, foo!(x))
end
julia> A
4-element Array{Array{Int64,1},1}:
[4, 4]
[4, 4]
[4, 4]
[4, 4]
我试图让它有效地输出类似于
julia> B
4-element Array{Array{Int64,1},1}:
[1, 1]
[2, 2]
[3, 3]
[4, 4]
我无法找到有用的资源来加深对突变的理解,或者在 Julia 中执行突变的顺序。在这方面的任何帮助将不胜感激!