Lua 基本语法
学习Unity的ulua热更新插件就必须先学习lua的基本语法. 我们一起来学习Lua吧O(∩_∩)O. 首先搭建Lua运行环境Lua for windows
下载地址: http://www.cr173.com/soft/44725.html
安装之后启动SciTE程序(Lua脚本编辑器)新创建一个lua后缀名文件,写上print("hello world"),print输出控制台一句话如下图
如果上面运行成功你已经搭建好Lua的环境,接下来我们就快速的学习Lua基本语法吧
二、Lua变量的定义
首先我们看下Lua的变量类型.
nil表示空数据 | 同等于C#里面的null |
boolean布尔类型,存储true和false | |
string字符串类型,双引号或单引号表示 | |
数值(number),以double表示,没有整数类型 | |
table表 |
Lua定义变量前面是不需要写类型,变量存储什么决定它是什么类型,变量的命名不能以数字和_开头.
age = 100 name1 = "盘子脸" --创建一个字符串,单行注释 name2 = '盘子脸' isMan = true n = nil print(age) print("我的名字:"..name1) --输出我的名字, ".."这个符号代表拼接两个字符串. print("他的名字:"..name2) --[[ 我是男的, 这里是多行注释 ]]-- print("我的性别:"..isMan) print(n) --就算变量预先存储string类型,然后有存储10进去,C#是要报错的. --但是lua是不会报错,name2就变成了number类型 name2 = 10 print(name2) print(type(name2)) --type(变量),可以查看变量是什么类型 --以上代码你看懂了,就掌握Lua基本类型的创建和使用啦
table类型的使用我单独写了一篇文章: http://www.cnblogs.com/plateFace/p/4762218.html
三、Lua的运算符
Lua中有那些运算符呢?我们就了解下常用运算符就可以啦
算数运算符(+,-,*,/,%) | Lua是没有++和--这种运算符的 |
关系运算符(<= ,<, > ,>= ,==) | |
逻辑运算符(and, or , not ) | 分别表示C#中的 与(&&) 或(||) 非(!) |
num1 = 34 num2 = 2 res1 = num1+num2 res2 = num1-num2 res3 = num1*num2 res4 = num1/num2 res5 = num1%num2 --其实print函数一次输出多个变量的值 print(res1,res2,res3,res4,res5) res6 = num1 <= num2 --返回false res7 = num1 == num2 --返回false print(res6,res7) res8 = res6 and res7 --两个都是false,返回false res9 = res6 or true --一个是true,返回true res10 = not res6 --res6是false取反就是true print(res8,res9,res10)
四、流程控制语句(if elseif else end)
hp = 100 if(hp <= 0) then print("hp是小于100的") elseif(hp >= 50) then print("hp是大于50的") else print("hp是0和50之间的") end
五、循环结构循环(while,repeat)
--使用while, 输出1-50的数字,50之后结束循环。 --Lua没有continue,只有break结束循环 index = 1 while index<=100 do if(index == 50) then break end print(index) index = index +1 end
使用repeat循环
--使用repeat,先进入循环一次在判断是否继续循环 index = 1 repeat print(index) index++ until index > 5
使用for循环
--使用for循环,index每次循环之后自动+1,index到10之后结束循环 for index=1,10 do print(index) end
六、函数定义
--定义函数的结构 function 方法名(参数1,参数2,参数3,...) --代码块 end --定义一个函数接受两个数字,返回他们的和 function Plus(num1,num2) return num1+num2 end --函数是可以返回多个值 function Plus2(num1,num2) return num1+num2,num1-num2 end --一次性接受到他们的和,他们的差 n1,n2 = Plus2(5,5) print(n1,n2)
如果你感兴趣,你可以把你妹妹介绍给我