julia中for循环的范围

时间:2019-02-09 23:01:03

标签: julia

Quantitative Economics course中,我遇到了以下示例:

ϵ = randn(1:100)
ϵ_sum = 0.0
m = 5
for ϵ_val in ϵ[1:m]
    ϵ_sum = ϵ_sum + ϵ_val
end
ϵ_mean = ϵ_sum / m

即使在代码的第一行中定义了ϵ_sum,代码也会发出错误ERROR: UndefVarError: ϵ_sum not defined。经过一番痛苦的互联网浏览后,假设是for loop has weird local completely isolated scope。这似乎是事实,因为我一直试图从matlab移植的类似代码在julia中存在怪异的问题,尤其是代码在循环中增长数组和变量的情况。

但是for循环中局部作用域的假设被放弃了,因为下面的代码运行没有问题:

e = 1
for num in 1:100
    println(e)
end

这两段代码的作用域有什么区别?

0 个答案:

没有答案