小编mat*_*een的帖子

Julia 变量消失/改变

我有以下 MWE

\n
function f(p)\n  ans = zeros(p, 2)\n  return ans\nend\n\nans = f(2)\n\nans\n\nb=ans.+1.0\nans\n
Run Code Online (Sandbox Code Playgroud)\n

起初,ans是正确的,但创建操作b会覆盖ans

\n
julia> ans = f(2)\n2\xc3\x972 Matrix{Float64}:\n 0.0  0.0\n 0.0  0.0\n\njulia> ans\n2\xc3\x972 Matrix{Float64}:\n 0.0  0.0\n 0.0  0.0\n\njulia> b=ans.+1.0\n2\xc3\x972 Matrix{Float64}:\n 1.0  1.0\n 1.0  1.0\n\njulia> ans\n2\xc3\x972 Matrix{Float64}:\n 1.0  1.0\n 1.0  1.0\n\n
Run Code Online (Sandbox Code Playgroud)\n

这是 Julia 1.6.5 的全新安装。

\n

如果我只是问,同样的事情也会发生typeof(ans)。其本身的值更改为DataTypeans的输出。typeof(ans)

\n
julia> ans=f(2)\n2\xc3\x972 Matrix{Float64}:\n 0.0  0.0\n 0.0  0.0\n\njulia> typeof(ans)\nMatrix{Float64} (alias for Array{Float64, 2})\n\njulia> typeof(ans)\nDataType\n
Run Code Online (Sandbox Code Playgroud)\n

有任何想法吗?

\n

julia

3
推荐指数
1
解决办法
48
查看次数

标签 统计

julia ×1