mifan
1
我在群里已经看到了这部分的讨论,并且查了文档,有一句 “全局变量只能通过读来继承,而不能通过写来继承”,但是有时候确实想从外部定义一个变量,然后 for 循环赋值,最终得到该变量,如下面的问题描述中目的是得到 a
等于 10
的值,有什么好的方法(除了 global 声明)?
问题描述
julia> a = 0.1;
julia> for ii = 1:10
a = ii
end
julia> a
0.1
XREF
REPL中的变量是全局变量,改变全局变量,需要加global 才行。
也可以将整个代码放在let 代码块中,这样a值就可以改变了。
1 个赞
Roger
3
我比较倾向于使用函数,然后用 local
function main()
local a
for ii = 1:10
a = ii
end
a
end
mando
4
x = begin
local a = 0
for i in 1:10
a = i
end
a
end