首页 > 其他 > 详细

Lua中调用函数使用点号和冒号的区别

时间:2015-03-17 19:31:18      阅读:174      评论:0      收藏:0      [点我收藏+]

最简单的类

TSprite = {
        x = 0,
        y = 0,
    }
    function TSprite.setPosition(x, y)
        TSprite.x = x;
        TSprite.y = y;
    end
   
    TSprite.setPosition(1, 2);
    print("TSprite坐标(" .. TSprite.x .. "," .. TSprite.y .. ")");

mSprite.setPosition

TSprite = {
        x = 0,
        y = 0,
    }
    function TSprite.setPosition(x, y)
        TSprite.x = x;
        TSprite.y = y;
    end
   
    TSprite.setPosition(1, 2);
    print("TSprite坐标(" .. TSprite.x .. "," .. TSprite.y .. ")");

mSprite:setPosition

TSprite = {
        x = 0,
        y = 0,
    }
    function TSprite:setPosition(x, y)
        self.x = x;
        self.y = y;
    end
    local who = TSprite;
    TSprite = nil;
     
    who:setPosition(1, 2);

输出:

 TSprite坐标(1,2)

 

冒号的作用就是:定义函数时,给函数的添加隐藏的第一个参数self;调用函数时,默认把当前调用者作为第一个参数传递进去。

使用了冒号之后,就相当于我们刚刚使用点号时一样,只是我们不再需要显式地定义self参数以及主动地传递who参数。

 

Lua中调用函数使用点号和冒号的区别

原文:http://www.cnblogs.com/wangxusummer/p/4344981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!