给Table赋值 在table中直接赋值
代码语言:javascript复制tb1 = {
Init = function()
print("table1");
end
}
给一个新的键值,给新的键赋值
代码语言:javascript复制require("LuaLearn02");
tb1["Init"]();
tb1["init1"] = function()
print("outS");
end
tb1["init1"]();
第三种方法通过table . 的方式
代码语言:javascript复制function tb1.Init2()
print("init2");
end
tb1.Init2();
lua 中 . 和 : 的区别
代码语言:javascript复制首先在lua中使用“:”定义的函数会自动传入一个名为self的变量,这个变量是隐含的,self同c 中的this一样,表示当前对象的指针:而“.”定义的函数中没有self。
tb2 = {
key1 = 30;
init1 = function(num1)
print(num1.key1);
end
}
function tb1:Init2(num)
print(num);
-- self.init1(self,num);
self:init1(num);
end
tb1.Init2(tb2,5);
给委托传参
代码语言:javascript复制function tb1 : Init3(func)
func();
end
function TestFunc (num)
print(num);
end
tb1.Init3(tb1,function()
TestFunc(1);
end);