Lua(—)

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 是一个区分大小写的编程语言。
Lua可以很方便的和其他程序进行集成(c++,c#,java,,,,)
Lua是动态类型定义的语言。(类型可以随意改变)

Lua和C#的区别

Lua可以在几乎所有的操作系统和平台进行编译运行
可以很方便的更新代码
更新了代码后,可以直接在手机上运行,不需要重新安装

C#只能在特定的操作系统中进行编译成dll文件,然后打包进安装包在其他平台(Android、iOS)运行
在移动平台上不能更新替换已有的dll文件,除非重新下载安装包

Lua的命名规则

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

全局变量

在默认情况下,变量总是认为是全局的。
全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil

b = nil
把一个变量置空,相当于从没有使用过这个变量,Lua会销毁b所占的内存

boolean

这个下面只有两个值 true 和 false
false和nil都代表false,其他任何值都代表true(0和空字符串lua都认为是true)

for循环

从1到100的偶数

for index=1,100 do
   if index%2==0 then
      print(index)
   end

end

while循环

index=1
while (index<=100)
do
    if index%2==0 then
        print(index)
    end
    index=index+1
end

repeat循环

index=1
repeat
 if index%2==0 then
        print(index)
    end
 index=index+1

until(index>100)

table

for循环遍历table中的“键值”

mytable={1,23123,12321,1212,312,123123}
for key,val in pairs (mytable) do
    print(key..":"..val)
end

table.getn(mytable)相当于getlength

for index=1,table.getn(mytable) do
    print(mytable[index])
end

function函数

function ADD(a,b,c)
 return a+b+c
 end
 local item=ADD(213,2131,12)
 print(item)

在lua中实现”面向对象”

新建一个lua脚本Character

Character={}
Character.hp=0

function Character:New()
local o={}
setmetatable (o,{__index=self})
   //setmetatable设置o的元表为Character
return o
end
//在表o中查找东西时,若找不到会继续在表o的元表中查找相应值
//功能类似于C#中 Character ch=new Character()
function Character:OnDamage(attack)
 self.hp=self.hp-attack
 if self.hp<=0 then
  print("gameover")
  end
 end
//新建一个Character的方法

新建一个lua脚本Player

require "Character"//require引用,相当于C#中的using
player={}
player=Character:New()
//相当于Character new了一个子类player
player.hp=100

player:OnDamage(100)
//调用方法
for

猜你喜欢

转载自blog.csdn.net/fuliyefly/article/details/78806327
LUA