009-热更新之lua语言二
昨天我们学习到lua语言中的数据类型了,在数据类型中其实还有两个部分,接下来我们将剩余的两个部分完成掉,然后再进行第三部分--lua变量。
2.6function(函数)
在lua中的函数还是与c#中的函数有点不一样的,其实主要集中在语法上,算法是一样的。![009-热更新之lua语言二 009-热更新之lua语言二]()
function的格式是如图总所示,因为lua中是没有{}的,所以用end来表示一个函数的结束。
这样就是通过匿名函数的方式来传递参数。
2.7thread(线程)2.8userdata(自定义类型)
这个部分以后会讲的。
好了接下来是lua中的变量部分了,我们在学习变量的时候,一定要知道这个与C语言的变量的规则是一样的。变量在使用前,必须在代码中声明,即创建变量。编译程序执行代码之前编译器需要知道如何给语句变量开辟储存区,用于储存变量的值。Lua变量有三种类型:全局变量、局部变量、表中的域。lua中的变量全是全局变量,那怕是语句块或是函数里,除非用local显示声明为局部变量。局部变量的作用域为从声明位置开始到所在语句块结束。变量的默认值均为nil。![009-热更新之lua语言二 009-热更新之lua语言二]()
从图中我们可以知道 没有修饰符的变量都是全局变量,只有加了local的才是局部变量,如果你在函数体外调用的话,是以全局变量为准的。
在里面我们看到有这个 a,b=a,b这句话,如果在c#中的话,那结果就是20,20了,但是结果却是10,20,是因为lua中的是先将右边全部算好,在进行赋值的,这个与c#是不一样的,这一点是要注意的。变量没有赋值的话,自动就是nil。如果得到一个没有赋值的变量的时候,那么结果一定是nil。第三部分就是这么多,那么我们开始第四部分--lua循环的学习。
很多情况下我们需要做一些有规律性的重复操作,因此在程序中就需要重复执行某系语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称之为循环体。循环语句是由循环体及循环的终止条件两个部分组成的。
其实前面就是一句废话,我们学到这样的话,早就知道循环到底是什么了,那么我们学习lua中的循环就一定很容易的。现在开始。Action。
4.1 while循环
在上图中我们是实现了奇数的数组,也说明了while的语法结构,再 说明一下,lua中是没有自加自减的,这一点一定要注意,不要与C#搞混了。
4.2 for()循环
for(int i=0;i
{
xxxxxxxxx
}
这个是c#中的for循环。在lua中的for()循环与这个优点不一样,其实我们在前面已经用到了。
4.3 repeat...until
Lua编程语言中repeat..until循环语句不同于for和while循环,for和while循环的条件语句是在当前循环施行开始时判断,而repeat..until 循环的条件语句在当前循环结束后判断。until的意思是直到的意思,所以这个语句额意思就是你先执行,直到满足我们的条件就结束,这个与c#中的do..while还是有一点不一样的,c#中是满足我的条件你再执行,不满足我们的条件就结束。![009-热更新之lua语言二 009-热更新之lua语言二]()
4.4 循环嵌套
好了第四部分就是这么多了,现在我们还是第五部分--流程控制。
Lua编程语言流程控制语句通过设定一个或者多个条件语句来设定。在条件为true时执行指定程序代码,在条件为false时执行其他指定代码。控制结构的条件表达式结果可以是任何值。lua认为false和nil为假,true和非nil为真。要注意的是lua中的0为真。![009-热更新之lua语言二 009-热更新之lua语言二]()

浙公网安备 33010602011771号