zoukankan      html  css  js  c++  java
  • Lua中调用函数使用点号和冒号的区别

    最简单的类

    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参数。

  • 相关阅读:
    双击返回 退出程序
    读取InputStream 中的内容
    wsgi服务器
    python 中的GIL
    json
    __getattr__
    错误类型
    __slot__用法
    获取属性以及基本方法
    linux IO
  • 原文地址:https://www.cnblogs.com/wangxusummer/p/4344981.html
Copyright © 2011-2022 走看看