【发布时间】:2016-01-14 07:17:06
【问题描述】:
在以下示例中:
Fs = cell(2)
i = 1
for i = 1:2
local i # same as local i = i
Fs[i] = () -> i
end
println(Fs[1]()) # 1
println(Fs[2]()) # 2
println(i) # 1
-
local i和local i = i是不是一样的? -
为什么我不能对
while循环做同样的事情?Fs = cell(2) i = 1 while i <= 2 #LoadError: UndefVarError: i not define local i = i Fs[i] = ()->i i += 1 end
但必须使用let:
Fs = cell(2)
i = 1
while i <= 2
let i = i
Fs[i] = ()->i
end
i += 1
end
println(Fs[1]()) # 1
println(Fs[2]()) # 2
【问题讨论】:
标签: julia