Lua-Table

给Table赋值
在table中直接赋值

tb1 = {
Init = function()
    print("table1");
end
}

给一个新的键值,给新的键赋值

require("LuaLearn02");
tb1["Init"]();
tb1["init1"] = function()
    print("outS");
end
tb1["init1"]();

第三种方法通过table . 的方式

function tb1.Init2()
    print("init2");
end
tb1.Init2();

lua 中 . 和 : 的区别

首先在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);

给委托传参

function tb1 : Init3(func)
    func();
end

function TestFunc (num)
    print(num);
end 

tb1.Init3(tb1,function()
    TestFunc(1);
end);

猜你喜欢

转载自blog.csdn.net/weixin_34293141/article/details/90965255