新手的小问题


#1

请大家看下图,我按照文档说明试着写了一个While循环,但显示i没有定义

能帮忙看下到底是哪里出了问题嘛?


#2

i 是全局变量,while 会引入局部作用域,修改它需要 global

while i <= 2
    println(i)
    global i+=1
end

#4

谢谢,应该是官方文档没有更新。


#5

有更新的,https://docs.juliacn.com/latest/manual/variables-and-scoping/#man-scope-table-1


#6

另外想请教下文档这个部分是什么意思?我没太看太懂

Fs[i] = ()->i 为什么不写成 Fs[i] = i
另外为什么要用Let语句,Let语句的语义到底是什么?

这些有点看不太懂,和之前自己学的Python和C有点不同。


#7

let 会引入新的局部作用域,有 let 的版本匿名函数捕获的是局部变量 i。直接写成 Fs[i] = i 不会有区别。