lua_基本语法

学习lua,首先应该了解热更新。

热更新:可以在不重新下载客户端的情况下更新软件内容。在使用软件过程中,我们经常会遇到这种情况:升级软件,没错,这就使用的是热更新。

C#不能直接热更新,原因为:C#脚本在执行之前必须经过编译。

编写lua代码,可使用luaForWindows软件,安装完成,打开D:lua5.1SciTESciTE,即可进行编程。

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()

原文地址:https://www.cnblogs.com/shirln/p/7795249.html