gpt4 book ai didi

julia - 对象未在循环中定义

转载 作者:行者123 更新时间:2023-12-03 23:03:10 25 4
gpt4 key购买 nike

我创建了一个对象,然后尝试在循环中使用它

a = 0
for i in 1:2
a += 1
end
但是,这会导致以下错误:
UndefVarError: a not defined
我是否忘记了循环的工作方式或出了什么问题?

最佳答案

关键是你的a是一个全局变量,在 1.0 和 1.4.2 之间的 Julia 版本中,引入了循环内变量的局部作用域。更准确地说,如果您没有明确表示要改变全局变量 ( global a += 1 ),则会引入局部范围内的新变量。
最好的办法是升级到 Julia 1.5。 Julia 1.5 重新引入 soft scoping in the REPL .
如果您需要坚持使用当前的 Julia 版本,您可以使用 global关键字或将您的代码放在函数中或使用 Jupyter notebook(具有软作用域)或将您的代码包围在 let 周围... end块,例如:

 let
a = 0
for i in 1:2
a += 1
end
a
end

关于julia - 对象未在循环中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64294059/

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