gpt4 book ai didi

Julia - 错误 : UndefVarError: not defined

转载 作者:行者123 更新时间:2023-12-02 19:57:16 30 4
gpt4 key购买 nike

我有一段代码可以在循环外工作,但在循环内失败。

参见:

julia> margin = 1
1

julia> rat = [-0.3 ; -0.8]
2-element Array{Float64,1}:
-0.3
-0.8

julia> beta = 0
0

julia> for q=1:2
if rat[q] - margin > beta
beta = rat[q] - margin
end
end
ERROR: UndefVarError: beta not defined
Stacktrace:
[1] top-level scope at ./REPL[803]:2 [inlined]
[2] top-level scope at ./none:0

julia> q=1
1

julia> if rat[q] - margin > beta
beta = rat[q] - margin
end

julia> q=2
2

julia> if rat[q] - margin > beta
beta = rat[q] - margin
end

有人可以解释这个错误(“错误:UndefVarError:beta 未定义”)吗?

(我有 Julia v"1.1.1",在 Mac OSX 上)

最佳答案

Julia 有一种非常特殊的方式来处理全局范围。变量作用域的规则可以在这里阅读:https://docs.julialang.org/en/v1/manual/variables-and-scoping/#Global-Scope-1 。 Julia-1.0 中引入了新的作用域规则,它们在社区中引起了很大争议,特别是因为 for 循环在全局作用域中的不直观行为。对于非常感兴趣的人,这里有关于优点和缺点的讨论:

关于 Julia - 错误 : UndefVarError: not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789914/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com