故事是这样的,目前我们的游戏没有做到代码级别的动态更新,所以很多时候维护一个bug都非常头疼,新项目我准备使用lua来做动态更新,减少游戏玩家因为维护bug不得不去更新一个比较大的包的流失。
经过一番的探索,发现目前市面上效率最高的是ulua ,所以决定使用ulua,之前有学习过一些lua方面的知识,这里回顾一下,方便以后查阅,也是当回忆一下这里面的知识。
首先下载一下lua的编辑器 这里提供我使用的 下载地址, 下面是我的学习语法基础的部分,方便自己以后回忆
--变量类型 所有的数值型都视为 double--
num_int = 10;
num_float = 10.1
num_double = 10.001
numOX = 0xff
print("num_int =", num_int, "num_float =",num_float, "num_double =",num_double, "numOX =",numOX );
--条件控制语句--
age=60;
sex ="female"
if age==40 and sex=="male" then
print("你是40岁")
elseif age>60 and sex~="female" then
print("你是60岁以上的 男人");
else
print("你是其他类型");
end
--FOR循环语句--
sum=0;
for i=1,100 do
sum = sum+i
end
print("for sum=",sum);
--FOR循环语句(带步长的2,表示步长)--
sum=0;
for i=1, 10, 2 do
sum = sum+i;
end
print("for sum2 =", sum);
--while循环--
sum=0;
maxSum=100;
while(sum<=maxSum)do
sum=sum+1;
end
print("sum_while=",sum);
--------------------------函数--------------------------
--函数-- (注意print里面不是使用 + 而是使用 ,)
function fun(n)
if n<2 then return 1 end
return n;
end
print("fun return num =", fun(3));
-- 函数 实参多余形参,则舍弃多余的实参;若实参不足,则多余的形参初始化为nil --
function funMutiPara(a, b)
return a, b;
end
x, y, z = funMutiPara(20, 30, 40);
print("funMutiPara return num =", x," , ",y, " , ", z);
-- 函数(变长参数)--
function funValidate(...)
return ...;
end
x, y, z = funValidate(20, 20, 20);
print("funValidate return num =", x," , ",y, " , ", z);
--------------------------Table--------------------------
mytable={name="pdw",age=18, handsome="帅吗"}
print("修改前 mytable {name =", mytable.name, " , age =" ,mytable.age, " , handsome =", mytable.handsome);
mytable.handsome = "帅爆了"; -- 修改元素 --
mytable.address ="上沙野店"; -- 新加入元素进去 --
mytable.age = nil; -- 删除元素(此元素讲不存在table 里面了) --
print("修改后 mytable {name =", mytable.name, " , age =" ,mytable.age, " , handsome =", mytable.handsome, " , address =", mytable.address);
--遍历table--
for k, v in pairs(mytable)do
print(k, v);
end
--------------------------Array, 数组下表从1开始的--------------------------
arr={10, 20, "hello lua"}
print("Array[1] = ", arr[1], ", Array[3] = ", arr[3], ", 数组长度 =", #arr);
--访问全局变量 通过 _G 的方式--
print(_G.x);
--------------------------文件--------------------------
--加载并语法.lua文件,只执行一次--
require("语法");
--加载并执行对应的文件--
dofile("语法.lua");
--加载文件,延迟到file()在执行--
local file = loadfile("语法.lua");
print(file);
file();
预告: 明天开始学习ulua里面的东西了~~