两个for循环的运算原理

更新时间:02-03 教程 由 颜若惜 分享

两个for循环的运算原理?

for循环是很多开发语言中最常用的一个循环。

for 有两种形式:一种是数字形式,另一种是通用形式。

数字形式的 for 循环,通过一个数学运算不断地运行内部的代码块。 下面是它的语法:

stat ::= for Name ‘=’ exp ‘,’ exp [‘,’ exp] do block end

block 将把 name 作循环变量。 从第一个 exp 开始起,直到第二个 exp 的值为止, 其步长为第三个 exp 。 更确切的说,一个 for 循环看起来是这个样子

for v = e1, e2, e3 do block end

注意下面这几点:

所有三个控制表达式都只被运算一次, 表达式的计算在循环开始之前。 这些表达式的结果必须是数字。

var,limit,以及 step 都是一些不可见的变量。 这里给它们起的名字都仅仅用于解释方便。

如果第三个表达式(步长)没有给出,会把步长设为 1 。

你可以用 break 和 goto 来退出 for 循环。

循环变量 v 是一个循环内部的局部变量; 如果你需要在循环结束后使用这个值, 在退出循环前把它赋给另一个变量。

通用形式的 for 通过一个叫作 迭代器 的函数工作。 每次迭代,迭代器函数都会被调用以产生一个新的值, 当这个值为 nil 时,循环停止。

注意以下几点:

explist 只会被计算一次。 它返回三个值, 一个 迭代器 函数, 一个 状态, 一个 迭代器的初始值。

f, s,与 var 都是不可见的变量。 这里给它们起的名字都只是为了解说方便。

你可以使用 break 来跳出 for 循环。

环变量 var_i 对于循环来说是一个局部变量; 你不可以在 for 循环结束后继续使用。 如果你需要保留这些值,那么就在循环跳出或结束前赋值到别的变量里去

声明:关于《两个for循环的运算原理》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2194944.html