Lua的循环和C语言的循环的语法其实差不多,所以,理解起来就很好理解的啦,所以实现也很简单,跟C没什么两样,都差不多。

案例如下:

test1.lua

-- 1、while循环
--[[
	理解为C语言的就行了,其实差不多的
	语法格式:
	while(true)
	do
		执行语句
	end
]]

--定义一个全局变量a=0
a=0
--
while(true)
do
	a=a+1
	print("a:",a)
	if(a == 5)
	then
		break
	end
end

-- 2、for循环
--[[
	理解为C语言的for就行了,其实差不多的
	语法格式:
	for var=exp1,exp2,exp3 do
		你要执行的语句
	end
]]

--数值for循环
--怎么理解? i = 0 , i <=5  ; i+=1
--如果第三个参数1是负数,意味着做减一的操作
--参数2作为条件,当然也可以传函数,用函数作为返回值为条件实现循环
for i = 0 , 5 , 1 do
	print("i:",i)
end

--泛型for循环
--类似java的迭代
--[[
	格式:
	for i,v in ipairs(a)
	do
		print(v)
	end
]]
--怎么理解?i是数组索引值,v是对应索引的数组元素值,ipairs是lua的一个迭代的函数,用来实现数组的迭代
num = {1,2,3,4,5}
for i,v in ipairs(num) do
	print("num:",num[i])
end

--3、 repeat...util循环
--[[
	理解为shell脚本的until就行了,其实差不多的,只要条件不成立就执行,条件成立就结束
	语法格式:
	repeat
	   你要执行的语句
	until( 判断条件 )
]]

num1 = 1
repeat
	print("num1:",num1)
	num1 = num1 + 1
until(num1 > 5)

解释运行: lua  test2.lua

运行结果:

a:      1
a:      2
a:      3
a:      4
a:      5
i:      0
i:      1
i:      2
i:      3
i:      4
i:      5
num:    1
num:    2
num:    3
num:    4
num:    5
num1:   1
num1:   2
num1:   3
num1:   4
num1:   5

Lua基础---循环语句的更多相关文章

  1. VBA基础——循环语句

    VBA基础之循环语句 Sub s1() Dim rg As Range For Each rg In Range("a1:b7,d5:e9") If rg = "&quo ...

  2. 《Java基础——循环语句》

    Java基础--循环语句       1. while语句: 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行循环语法,直至表达式为假,循环结束.   格式: while(表达式) 语句 ...

  3. 2-23c#基础循环语句

    循环语句 必须具备四要素:初始条件.循环条件.循环体.状态改变 for (初始条件; 循环条件; 状态改变)    {  循环体} 简单举例 for(int i=1;i<=10;i++)//就是 ...

  4. python基础-循环语句(5)

    一.循环语句介绍 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环 二.常见的循环形式 while循环 ...

  5. python基础-循环语句while

    循环语句:while\for\嵌套 循环控制语句:break\continue break:跳出整个循环,不会再继续循环下去 continue:跳出本次循环,继续下一次循环 while循环: coun ...

  6. C#基础-循环语句

    while语句 int i = 1,sum=0; while (i <= 100) { sum += i; i++; } Console.WriteLine(sum); do···while语句 ...

  7. Python基础——循环语句、条件语句、函数、类

    注:运行环境  Python3 1.循环语句 (1)for循环 注:for i in range(a, b):  #从a循环至b-1 for i in range(n):      #从0循环至n-1 ...

  8. python基础-循环语句for\嵌套循环

    for循环格式: for index in range(0,3):#等同于range(3),取0\1\2 print(index) index = 0 starnames = ['xr1','xr2' ...

  9. python基础循环语句练习

    1.使用while循环输入 1 2 3 4 5 6     8 9 10 n = 1 while n < 11: if n == 7: pass else: print(n) n = n + 1 ...

随机推荐

  1. Java集合(2):LinkedList

    一.LinkedList介绍 LinkedList也和ArrayList一样实现了List接口,但是它执行插入和删除操作时比ArrayList更加高效,因为它是基于链表的.基于链表也决定了它在随机访问 ...

  2. Android 属性自定义及使用获取浅析

    一.概述 相信你已经知道,Android 可使用 XML 标签语言进行界面的定义.每个标签中有一个一个的属性,这些属性有相应的属性值.例如: <cn.neillee.composedmenu.R ...

  3. POJ - 2912 Rochambeau (带权并查集+枚举)

    题意:有N个人被分为了三组,其中有一个人是开了挂的.同组的人的关系是‘=’,不同组的人关系是‘<’或'>',但是开了挂的人可以给出自己和他人任意的关系.现在要根据M条关系找出这个开了挂的人 ...

  4. C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)

    转自:http://www.kuqin.com/language/20090806/66164.html 预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器.可见预处理过程先于编译器 ...

  5. h5打开App的方法。

    在浏览器中: 法1: location.href = `${scheme}`;//location跳转App是几乎所以情况都支持的. 法2: var ifr = document.createElem ...

  6. PHP练习题二

    1.抓取远程图片到本地,你会用什么函数? fsockopen, A 2.用最少的代码写一个求3值最大值的函数. function($a,$b,$c){* W0 z* u6 k+ e. L  a: }5 ...

  7. Graph_Master(连通分量_B_Trajan+完全图)

    hdu_4635 题目大意:给出一张DAG(n个点,m条边),求出能加的最大边数,使得该图无重边,无自环,非强连通. 题解:这题题面很好理解,也没有什么很难的点,主要是如何求出最大边数需要动点脑筋.首 ...

  8. HUE中Oozie执行Sqoop

    Oozie执行Sqoop,传入参数(注意,在使用--query时,参数中一定不要带有空格,否则出错)1. 新建一个workflow 2. 拖入一个sqoop 3. sqoop抽取命令如下(建议先在命令 ...

  9. c语言字符处理函数常见使用集合

    1.最近看一些开源项目代码时,总会看到 c 语言中一些  "str" 开头的处理字符串的用法,有的之前没用到过,特此记录,随时看到随时添加. 这里不提出源码,只是一些使用说明加例子 ...

  10. DateTime和DateTimeOffset的区别

    1,DateTime 表示时间上的一刻,通常以日期和当天时间来表示. 2, DateTimeOffset 表示一个时间点,通常以相对于协调世界时(UTC)的日期和时间来表示. 3,下面是微软官方给出的 ...