Lua的简单介绍与语法(运算符,变量,分支语句)

一.简介

        Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。 同时对面向对象编程、函数式编程和数据驱动式编程也提供了良好的支持。 它作为一个强大、轻量的嵌入式脚本语言,可供任何需要的程序使用。 Lua 由 clean C(标准 C 和 C++ 间共通的子集) 实现成一个库。

二.热更新

        热更新技术就是可以在不重新下载客户端的情况下,实现更新游戏内容常见于移动端,lua语言经常用于游戏的热更新  与C#反射机制相比lua优点跨平台运行,不需要编译过程而c#反射最重要的是不兼容IOS平台。在unity热更新中就是通过AssetBundle更新游戏UI,也可以把脚本或者其他代码当成资源打包到AssetBundle然后更新到客户端,在所有热更新技术中都需要AssetBundle      如何利用Lua进行热更新:在移动端编写Lua解析器      通过解析器运行最新的Lua脚本      把控制逻辑或者UI的代码写成Lua脚本

三.简单语法介绍

1.变量

          标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9)最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的 Lua 不允许使用特殊字符如 @, $, 和 % 来定义标示符。 Lua 是一个区分大小写的编程语言 

-->变量

“--“在lua中是注释的意思 

--print(var)

--gVar = 0 --全局变量

--var = 0

--print(type(var))  --number

--var1 = 0.2

--print((type(var1)) --number

-->在lua中number相当于C#中值类型(int float double)

-->默认number 就是double

--var3=false

--var4=“Lua”

--print((type(var3))  --booleam

--print(type(var4))  --string

--var5 = function()

--print(type(var5)) --function

--var6={}

--(type(var6))  --table

--gVar=0

--local  x = 1

-->演示局部变量和全局变量(定义局部变量需要在变量前加上local关键字,当在代码块中声明的局部变量)

代码块结束后,该局部变量自动释放

--do

-- c=5

-- local  c2=1

--end

--print(c,c2)

--lua 可以对多个变量同时赋值。变量列表和值列表各个元素之间用逗号隔开,赋值语句右边会依次赋值给左边

--x,y,z=1,2,3

-->练习1:交换俩个变量的值

--a,b=1,2

--a,b=b,a

--print(a,b)

-->如果变量列表少于赋值列表

-- x,y=1,2,3

-- print(x,y)

-- x,y,z=1,2

-- print(x,y,z)

Lua是动态类型语言,变量不需要定义,只需要为变量赋值即可

2.运算符

------->运算符优先级

-- ^ 

-- not -

-- * /

-- + -

-- ..

-- > >= < <= == ~=

-- and

-- or

--->除了^和..所有的运算符都是从左开始的

------>关系运算符 > >= < <= == ~=

-- a=10

-- b=20

-- print('a大于b为真吗:',a>b)

------>逻辑运算符 and(&&) or(|) not(!)

---->连接运算符..

-- a=10

-- b="10"

-- print(a..b)

---->长度运算符#

--  str="Hello lua"

-- print(#str)

3.分支结构

(1)if  ...else

-->if

-- a=50

-- if a<0    then      

-- print('a的值小于0')

-- else

-- print('a的值大于0')

-- end

-- a=-1

-- if(a>0) then

-- elseif a<0 then

-- print('a的值小于0')

-- elseif a==0 then

-- else

-- end

-->练习1:比较俩个数的大小

-- a,b=10,20

-- if a>b then

-- print('a的值大于b',a)

-- elseif  a

--print('a的值小于b',b)

-- else

-- end

------->循环 while

-- a=10

-- while a>0

-- do

-- print('死循环');

-- end

--->输出十句Hello lua

-- a=0

-- while a<10

-- do

-- print('Hello lua')

-- a=a+1

-- end

---->repeat..until  类似do ..while

-- a=10

-- repeat

-- print('Hello world',a)

-- a=a+1

-- until a>15

---->练习1-100之间所有的和不超过1500

-- sum,a=0,1

-- repeat

-- sum=a+sum

-- a=a+1

-- until sum>1500

-- print(sum-a)

---->for循环    1.数值for循环  2.泛型for循环

-- for i=1,10,1 do

-- print(i)

-- end

-- function f( x )

-- return x^2

-- end

-- for i=1,f(5) do

-- print(i)

-- end

-->练习1:1-100所有和

-- sum=0

-- for i=1,100 do

-- sum=sum+i

-- end

-- print(sum)

你可能感兴趣的:(Lua的简单介绍与语法(运算符,变量,分支语句))