lua学习Day03

来源:互联网 发布:网络大型游戏 编辑:程序博客网 时间:2024/05/20 13:11

lua的控制结构有      条件结构if

                                 迭代的while、repeat、for

                                 所有结构除了repeat以until结尾外其他都是以end结尾的

if的语法:                if a<0 then a=0 end

                                if a<b then return a else return b end

                               也可以在中间使用elseif

while的语法:         while a[i] do print(a[i]) i=i+1 end

repeat的语法:       local sqr=x/2 repeat sqr=(sqr+x/sqr)/2 local error=math.abs(sqr^2-x) until error<x/1000

for的语法:            for var=exp1,exp2,exp3 do   <语句> end     循环体var从exp1变化到exp2,每次变化的节奏以exp3的大小为节奏。exp3如果不指定的话默认为1

                              for循环中定义的变量是局部变量,如果在循环结束以后访问有可能出错。如果需要访问的话,需要将这个变量的值保存在另一个变量中

                              for i,v in ipairs(a) do print(v) end      可以使用ipairs遍历数组的值,i代表索引v代表值

break与return用于跳出当前的块,break用于结束一个循环,return用于从一个函数中返回结果

这两个一般都是在语句的最后面。  如果想把return放到语句中间的话,需要用     do return end 来包起来

函数的多重返回值,如果函数a被当做另一个函数b中的参数,函数a有多重返回值但是它的位置不在最后一个,那么只会返回一个返回值。如果函数a的位置是在参数中的最后一个那么返回值会都返回的。

                                    如果用return返回 函数a() 那么函数的返回值也会都返回

                                    如果用小括号将函数a()包住,那么返回值也只返回一个  例如print((a()))

                                    多重返回值的一个特殊函数unpack,可以将一个数组当做参数并从下标为1开始返回该数组的所有元素。



0 0