循环

循环用于在指定条件下重复执行指定代码。 同样地,你也可以尝试举些例子、画流程图方便理解。

while

while 循环的语法格式是:

while 条件
    语句
end

为了让你更深刻地了解循环是什么,可以尝试以下代码:

while true
    print("+")
end

没错,它会“刷屏”,开一个新窗口运行它。

可以再尝试:

escape = false
while !escape
    print("echo> ")
    s = readline()
    if s=="quit"
        escape = true
    else
        println(s)
    end
end

会得到如下的结果

echo> 1
1
echo> 2
2
echo> 3
3
echo> quit

每次输入一行字符串,只有当它是 quit 时才结束。

for

语法格式为:

for 变量 in 范围
    语句
end

其中“范围”可以是数组范围字典……

for i in 1:10
    println(i)
end

for i in 1:3, j in 1:3
    print(i*j, ' ')
end

for (i, j) in [(1, 2), (3, 4)]
    print(i*j, ' ')
end

其它

在循环代码中,可以使用 break 跳出(单层)循环, 可以使用 continue 直接进入下一次循环(仍会进行条件判定)

优化循环检测

经常性地,你需要在整齐的循环条件外添加少数的额外情况。例如之前的代码需要在无限循环中添加“输入 quit 退出”的情况

escape = false
while !escape
    print("echo> ")
    s = readline()
    if s == "quit"
        escape = true
    else
        println(s)
    end
end

这里设置变量 escape 存储 s == "quit" 验证结果确实是实用的方法。

它也可以改为

while true
    print("echo> ")
    s = readline()
    if s=="quit"
        break
    else
        println(s)
    end
end

对于一些情况,这样写会使代码看起来简洁一些。但这也不是万能的,总之,对于相关的问题可以多实践,掌握更好的完成方式。

参阅

练习