lua_基本语法
学习lua,首先应该了解热更新。
热更新:可以在不重新下载客户端的情况下更新软件内容。在使用软件过程中,我们经常会遇到这种情况:升级软件,没错,这就使用的是热更新。
C#不能直接热更新,原因为:C#脚本在执行之前必须经过编译。
编写lua代码,可使用luaForWindows软件,安装完成,打开D:\lua\5.1\SciTE\SciTE,即可进行编程。
lua中的8中数据类型:
数据类型 | 描述 |
---|---|
nil | 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。 |
boolean | 包含两个值:false和true。 |
number | 表示双精度类型的实浮点数 |
string | 字符串由一对双引号或单引号来表示 |
function | 由 C 或 Lua 编写的函数 |
userdata | 表示任意存储在变量中的C数据结构 |
thread | 表示执行的独立线路,用于执行协同程序 |
table | Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。 |
循环控制结构:
if语句
if ... then
...
elseif a<0 then
...
else
end
while语句
while ... do
...
end
repeate语句
repeate
...
until ...
for语句
for start,end do
...
end
注意:lua中可使用break跳出循环,但是没有continue。
定义函数的方法:
function 函数名 (参数列表)
函数体
end
创建表:age={12,34,56}
注意:lua中的表下标从1开始。
lua中遍历表的方法有2种。
方法一:
for i=1,table,getn(age) do
print(age[i])
end
方法二:
for index,value in pairs(age) do
print(i,value)
end
使用表实现面向对象编程:
Enemy={}
local this=Enemy
Enemy.hp=90
Enemy.coin=1000
function Enemy.Move()
print("敌人开始移动了")
end
function Enemy.Attack()
print(Enemy.hp,Enemy.coin)
end
--调用函数
Enemy.Move()
Enemy.Attack()