Lua 的 for 循环 也可以实现嵌套的效果,即 for 循环里面嵌套一个或多个 for 循环。这种写法就类似于 Lua 的 if 语句 、elseif 语句 和 else 语句 的嵌套。
for express11, express12, express13 do
statements1
for express21, express22, express23 do
statements2
for express31, express32, express33 do
statements3
end
end
end
参数 | 描述 |
---|---|
for | for 循环使用的关键字。 |
express1 | for 循环的初始条件。 |
express2 | for 循环的结束条件。 |
express3 | for 循环每次执行的条件的变化。 |
statements | 每次循环执行的代码逻辑。 |
我们定义了三个循环的嵌套。
使用循环嵌套,打印计数器
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
local i = 0
for i = 0, 2, 1
do
print(string.format("\ni = %d\n", i))
for j = 0, 3, 1
do
print(string.format("\tj = %d", j))
end
end
print("Over")
程序运行后,控制台输出如下:
首先,我们定义了一个最外层的 for 循环嵌套,计数器 变量 i 从 0 开始,结束条件是 i <= 2,每次执行一次循环将 i 的值加 1,并打印当前 i 的值,并且这里我们使用了转义字符在每行开始打印一个换行。
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i <= 4,每次执行一次循环将 j 的值加 1,并打印当前 j 的值。
使用循环嵌套,打印数列
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
for i = 0, 3, 1
do
print(string.format("\ni = %d\n", i))
for j = 0, i, 1
do
print(string.format("\tj = %d", j))
end
end
print("Over")
程序运行后,控制台输出如下:
首先,我们定义了一个最外层的 for 循环嵌套,计数器变量 i 从 1 开始,结束条件是 i <= 3,每次执行一次循环将 i 的值加 1,并打印当前 i 的值,并且这里我们使用了转义字符在每行开始打印一个换行。
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 j <= i,每次执行一次循环将 j 的值加 1,并打印当前 j 的值。
Lua 的 for 循环也可以实现嵌套的效果,即 for 循环里面嵌套一个或多个 for 循环。