Lua-Table

2019-06-02 20:24:33 浏览数 (1)

给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 中 . 和 : 的区别

首先在lua中使用“:”定义的函数会自动传入一个名为self的变量,这个变量是隐含的,self同c 中的this一样,表示当前对象的指针:而“.”定义的函数中没有self。

代码语言:javascript复制
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);

0 人点赞