Lua编程中使用嵌套循环的使用教程
Lua编程语言允许使用一个循环内嵌另一个循环。下文将介绍几个例子来说明这一概念。
语法
在Lua中嵌套循环语法语句如下:
for init,max/min value, increment
do
for init,max/min value, increment
do
statement(s)
end
statement(s)
end
在Lua编程语言中的嵌套的while循环的语法语句,如下所示:
while(condition)
do
while(condition)
do
statement(s)
end
statement(s)
end
Lua编程语言嵌套repeat...until循环的语法语句如下:
repeat
statement(s)
repeat
statement(s)
until( condition )
until( condition )
在循环嵌套最后需要说明的是,可以把任何类型的循环放入到任何其他类型的循环里面。例如,一个for循环可以在另外一个while循环内,反之亦然。
例如:
下面的程序使用一个嵌套的循环:
j =2
for i=2,10 do
for j=2,(i/j) , 2 do
if(not(i%j))
then
break
end
if(j > (i/j))then
print("Value of i is",i)
end
end
end
当建立和运行上面的代码,它会产生以下结果。
Value of i is 8
Value of i is 9
Value of i is 10
相关推荐
-
Lua中数字for循环实例
看以下代码: 复制代码 代码如下: for i=1,2 do print(i) i=3 end 输出是什么?如果习惯了C/C++语言,会觉得因为改变了控制变量i为3,所以在执行第二次循环体之前判断不通过,所以输出是1. 但结果输出是1和2,即虽然改变了i,但循环还是执行了2次.这是为什么呢? 看了lua的源代码,发现在语法分析阶段,表达式中的i(也叫控制变量)和循环体中的i并不是一个值,其实表达式中的i叫internal index,循环体中的i叫external index. 所
-
Lua中的for循环和迭代器的秘密探究
上一篇我们介绍了,可以使用for循环来完成迭代器的调用,十分简洁. 那么,具体这for循环做了什么呢?我当然没有去看源码,我只是看书而已. 资料来源于<Lua程序设计>第二版,如果这本书的内容没有错的话,那么,本篇文章理论上也不会有错~ 1.返回两个值的迭代器 pairs是能遍历table的key和value的,而我们之前写的dieDaiQi函数只能返回value. 所以,我们要改改dieDaiQi函数,如下: 复制代码 代码如下: function dieDaiQi(t) local
-
详解Lua中的while循环语句的使用
在Lua编程语言中的while循环语句,只要给定的条件为真时将重复执行的目标语句. 语法 Lua编程语言中的while循环的语法是: 复制代码 代码如下: while(condition) do statement(s) end 在这里,声明(S)可以是单一语句或语句块.该条件可以是任何表达式,并且真正是任意非零值.循环迭代当条件是true. 当条件为假,则程序控制进到紧接在循环之后的一行. 流程图: 这里,在while循环的关键点是,在循环可能不会永远运行.当条件测试结果为false,循
-
Lua编程中使用嵌套循环的使用教程
Lua编程语言允许使用一个循环内嵌另一个循环.下文将介绍几个例子来说明这一概念. 语法 在Lua中嵌套循环语法语句如下: 复制代码 代码如下: for init,max/min value, increment do for init,max/min value, increment do statement(s) end statement(s) end 在Lua编程语言中的嵌套的while循环的语法语句,如下所示: 复制代码 代码如下: while(con
-
浅析Lua编程中的异常处理
需要进行错误处理 错误处理是必要的,因为真实世界中的操作通常需要使用复杂的操作,包括文件操作,数据库事务和web服务调用.没人关心错误的业务,涉及保密信息或金钱交易时造成大的损失. 在任何编程,总是有错误处理的要求.错误可以是两种类型,其中包括, 语法错误 运行时错误 语法错误 因使用不当造成的各种程序组件,如运算符和表达式中出现语法错误.一个简单的例子中的语法错误如下所示. 复制代码 代码如下: a == 2 如你所知,有使用单一等于和双等于之间的差异.使用一个替代其他可导致错误.等于是指分
-
Lua编程中的一些基本语法整理
Lua是相当简单易学,让我们开始创建第一个Lua程序! 第一个Lua程序 交互模式编程: Lua中提供了一个名为交互模式模式.在这种模式下,你可以键入一个接一个的指令,并得到立竿见影的效果.此所用的shell使用的是lua-i或只是lua的命令被调用.一旦在这种模式下,按Enter键和互动模式将被启动,如下图所示. $ lua -i $ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio quit to end; cd, dir and edit
-
Java多线程编程中synchronized线程同步的教程
0.关于线程同步 (1)为什么需要同步多线程? 线程的同步是指让多个运行的线程在一起良好地协作,达到让多线程按要求合理地占用释放资源.我们采用Java中的同步代码块和同步方法达到这样的目的.比如这样的解决多线程无固定序执行的问题: public class TwoThreadTest { public static void main(String[] args) { Thread th1= new MyThread1(); Thread th2= new MyThread2(); th1.st
-
C语言编程中生成随机数的入门教程
语言产生随机数是一个常见的编程功能任务,当然这个也不难,调用两三个函数就出来了,但是你知道这些函数具体是起到怎样的作用,并且是它们是如何产生随机数的吗? 几个概念 随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的. 随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样.所以要产生随机数,则srand(seed)的随机数种子必须也要随机的. 用srand()产生随机数种子
-
在C语言编程中使用变量的基础教程
C语言在明面上将数的变量分为两类,整型变量以及浮点数,对应着现实世界的整数和小数. 首先是整数,使用了这么多的C语言之后,每当在使用整数之时都会将其想象成二进制的存在,而不是十进制.原因在于,这是程序的本质所在,稍有研究编译器工作原理的都会发现,在编译器处理乘法乃至除法的时候,优秀的编译器总会想方设法的加快程序的速度,毫无疑问在所有运算中移位运算是最快速的"乘法"以及"除法": 1<<2 == 4 ,8>>2 == 2 而正常一个乘法相当于十
-
C#编程中枚举类型的使用教程
枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法.例如,假设您必须定义一个变量,该变量的值表示一周中的一天.该变量只能存储七个有意义的值.若要定义这些值,可以使用枚举类型.枚举类型是使用 enum关键字声明的. enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; enum Months : byte { Jan, Feb, Mar, Apr, May, Jun,
-
Java编程中void方法的学习教程
void 关键字 本节说明如何声明和调用一个void方法. 下面的例子声明了一个名为printGrade的方法,并且调用它来打印给定的分数. 示例 public class TestVoidMethod { public static void main(String[] args) { printGrade(78.5); } public static void printGrade(double score) { if (score >= 90.0) { System.out.println
-
C语言编程中函数的基本学习教程
C 语言中的函数等价于 Fortran 语言中的子程序或函数,也等价于 Pascal 语言中的过程或函数.函数为计算的封装提供了一种简便的方法,此后使用函数时不需要考虑它是如何实现的.使用设计正确的函数,程序员无需考虑功能是如何实现的,而只需知道它具有哪些功能就够了.在 C 语言中可以简单.方便.高效地使用函数.我们经常会看到在定义后仅调用了一次的短函数,这样做可以使代码段更清晰易读. 到目前为止,我们所使用的函数(如 printf.getchar 和 putchar 等)都是函数库中提供的函数
-
Python面向对象编程中的类和对象学习教程
Python中一切都是对象.类提供了创建新类型对象的机制.这篇教程中,我们不谈类和面向对象的基本知识,而专注在更好地理解Python面向对象编程上.假设我们使用新风格的python类,它们继承自object父类. 定义类 class 语句可以定义一系列的属性.变量.方法,他们被该类的实例对象所共享.下面给出一个简单类定义: class Account(object): num_accounts = 0 def __init__(self, name, balance): self.name =
随机推荐
- C#带你玩扫雷(附源码)
- PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
- Java 多线程实例详解(三)
- javascript:void(0)使用探讨
- JS中from 表单序列化提交的代码
- 详解PHP对数组的定义以及数组的创建方法
- MySQL慢查询查找和调优测试
- 利用Keydown事件阻止用户输入实现代码
- 浅谈PHP变量作用域以及地址引用问题
- 如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
- vml简介
- BootStrap下的弹出框加载select2框架失败的解决方法
- JDBCTM 指南:入门2 - 连接
- js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
- sql server Bulk Insert命令详细
- 扩展jquery实现客户端表格的分页、排序功能代码
- setInterval,setTimeout与jquery混用的问题
- Vue.js 单页面多路由区域操作的实例详解
- Linux shell操作mysql数据库深入解析
- PHP+DBM的同学录程序(4)